From 1573877a00787cc572b06e46acd69374ed26d337 Mon Sep 17 00:00:00 2001 From: Oli Lan Date: Thu, 5 Mar 2020 13:15:58 +0000 Subject: [PATCH] Rename ApexContext to ApexEnvironment. This renames the new ApexContext class to ApexEnvironment, at the request of the API Council. Bug: 150685788 Test: atest ApexEnvironmentTest Change-Id: I4340b0c7e78d240f4e48fdc94ec9e7d60e58d35c --- .../RuntimePermissionsPersistenceImpl.java | 6 +++--- .../persistence/RolesPersistenceImpl.java | 6 +++--- api/system-current.txt | 4 ++-- ...{ApexContext.java => ApexEnvironment.java} | 20 +++++++++---------- ...textTest.java => ApexEnvironmentTest.java} | 11 +++++----- 5 files changed, 24 insertions(+), 23 deletions(-) rename core/java/android/content/{ApexContext.java => ApexEnvironment.java} (80%) rename core/tests/coretests/src/android/content/{ApexContextTest.java => ApexEnvironmentTest.java} (75%) diff --git a/apex/permission/service/java/com/android/permission/persistence/RuntimePermissionsPersistenceImpl.java b/apex/permission/service/java/com/android/permission/persistence/RuntimePermissionsPersistenceImpl.java index 30a8b458cce52..0ac0c730998b0 100644 --- a/apex/permission/service/java/com/android/permission/persistence/RuntimePermissionsPersistenceImpl.java +++ b/apex/permission/service/java/com/android/permission/persistence/RuntimePermissionsPersistenceImpl.java @@ -18,7 +18,7 @@ package com.android.permission.persistence; import android.annotation.NonNull; import android.annotation.Nullable; -import android.content.ApexContext; +import android.content.ApexEnvironment; import android.content.pm.PackageManager; import android.os.UserHandle; import android.util.ArrayMap; @@ -258,8 +258,8 @@ public class RuntimePermissionsPersistenceImpl implements RuntimePermissionsPers @NonNull private static File getFile(@NonNull UserHandle user) { - ApexContext apexContext = ApexContext.getApexContext(APEX_MODULE_NAME); - File dataDirectory = apexContext.getDeviceProtectedDataDirForUser(user); + ApexEnvironment apexEnvironment = ApexEnvironment.getApexEnvironment(APEX_MODULE_NAME); + File dataDirectory = apexEnvironment.getDeviceProtectedDataDirForUser(user); return new File(dataDirectory, RUNTIME_PERMISSIONS_FILE_NAME); } } diff --git a/apex/permission/service/java/com/android/role/persistence/RolesPersistenceImpl.java b/apex/permission/service/java/com/android/role/persistence/RolesPersistenceImpl.java index 3031c82139825..2346c11e5242f 100644 --- a/apex/permission/service/java/com/android/role/persistence/RolesPersistenceImpl.java +++ b/apex/permission/service/java/com/android/role/persistence/RolesPersistenceImpl.java @@ -18,7 +18,7 @@ package com.android.role.persistence; import android.annotation.NonNull; import android.annotation.Nullable; -import android.content.ApexContext; +import android.content.ApexEnvironment; import android.os.UserHandle; import android.util.ArrayMap; import android.util.ArraySet; @@ -211,8 +211,8 @@ public class RolesPersistenceImpl implements RolesPersistence { @NonNull private static File getFile(@NonNull UserHandle user) { - ApexContext apexContext = ApexContext.getApexContext(APEX_MODULE_NAME); - File dataDirectory = apexContext.getDeviceProtectedDataDirForUser(user); + ApexEnvironment apexEnvironment = ApexEnvironment.getApexEnvironment(APEX_MODULE_NAME); + File dataDirectory = apexEnvironment.getDeviceProtectedDataDirForUser(user); return new File(dataDirectory, ROLES_FILE_NAME); } } diff --git a/api/system-current.txt b/api/system-current.txt index 5e63144bf4933..44460b4b5759b 100755 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -1761,8 +1761,8 @@ package android.companion { package android.content { - public class ApexContext { - method @NonNull public static android.content.ApexContext getApexContext(@NonNull String); + public class ApexEnvironment { + method @NonNull public static android.content.ApexEnvironment getApexEnvironment(@NonNull String); method @NonNull public java.io.File getCredentialProtectedDataDirForUser(@NonNull android.os.UserHandle); method @NonNull public java.io.File getDeviceProtectedDataDir(); method @NonNull public java.io.File getDeviceProtectedDataDirForUser(@NonNull android.os.UserHandle); diff --git a/core/java/android/content/ApexContext.java b/core/java/android/content/ApexEnvironment.java similarity index 80% rename from core/java/android/content/ApexContext.java rename to core/java/android/content/ApexEnvironment.java index fe5cedca4654a..b4cc3c2bb1562 100644 --- a/core/java/android/content/ApexContext.java +++ b/core/java/android/content/ApexEnvironment.java @@ -30,29 +30,29 @@ import java.util.Objects; * @hide */ @SystemApi -public class ApexContext { +public class ApexEnvironment { private static final String APEX_DATA = "apexdata"; /** - * Returns an ApexContext instance for the APEX with the provided {@code apexModuleName}. + * Returns an ApexEnvironment instance for the APEX with the provided {@code apexModuleName}. * - *

To preserve the safety and integrity of APEX modules, you must only obtain the ApexContext - * for your specific APEX, and you must never attempt to obtain an ApexContext for - * another APEX. Any coordination between APEXs must be performed through well-defined - * interfaces; attempting to directly read or write raw files belonging to another APEX will - * violate the hermetic storage requirements placed upon each module. + *

To preserve the safety and integrity of APEX modules, you must only obtain the + * ApexEnvironment for your specific APEX, and you must never attempt to obtain an + * ApexEnvironment for another APEX. Any coordination between APEXs must be performed through + * well-defined interfaces; attempting to directly read or write raw files belonging to another + * APEX will violate the hermetic storage requirements placed upon each module. */ @NonNull - public static ApexContext getApexContext(@NonNull String apexModuleName) { + public static ApexEnvironment getApexEnvironment(@NonNull String apexModuleName) { Objects.requireNonNull(apexModuleName, "apexModuleName cannot be null"); //TODO(b/141148175): Check that apexModuleName is an actual APEX name - return new ApexContext(apexModuleName); + return new ApexEnvironment(apexModuleName); } private final String mApexModuleName; - private ApexContext(String apexModuleName) { + private ApexEnvironment(String apexModuleName) { mApexModuleName = apexModuleName; } diff --git a/core/tests/coretests/src/android/content/ApexContextTest.java b/core/tests/coretests/src/android/content/ApexEnvironmentTest.java similarity index 75% rename from core/tests/coretests/src/android/content/ApexContextTest.java rename to core/tests/coretests/src/android/content/ApexEnvironmentTest.java index d15c64d0935d8..438c5ae1b023f 100644 --- a/core/tests/coretests/src/android/content/ApexContextTest.java +++ b/core/tests/coretests/src/android/content/ApexEnvironmentTest.java @@ -28,20 +28,21 @@ import org.junit.runner.RunWith; @SmallTest @RunWith(AndroidJUnit4.class) -public class ApexContextTest { +public class ApexEnvironmentTest { @Test public void dataDirectoryPathsAreAsExpected() { - ApexContext apexContext = ApexContext.getApexContext("my.apex"); + ApexEnvironment apexEnvironment = ApexEnvironment.getApexEnvironment("my.apex"); assertEquals("/data/misc/apexdata/my.apex", - apexContext.getDeviceProtectedDataDir().getAbsolutePath()); + apexEnvironment.getDeviceProtectedDataDir().getAbsolutePath()); assertEquals("/data/misc_de/5/apexdata/my.apex", - apexContext.getDeviceProtectedDataDirForUser(UserHandle.of(5)).getAbsolutePath()); + apexEnvironment + .getDeviceProtectedDataDirForUser(UserHandle.of(5)).getAbsolutePath()); assertEquals("/data/misc_ce/16/apexdata/my.apex", - apexContext.getCredentialProtectedDataDirForUser( + apexEnvironment.getCredentialProtectedDataDirForUser( UserHandle.of(16)).getAbsolutePath()); } }