java FlagImpl: Clear context without instrumentat
The original change Idecda9c357f6a92b9b4a63b2ec9b0c04ff441a6d
logically conflicted with I4f1872b5d6da5167c69cd236925fee4d622c7487
Add the same logic to else side of the allow_instrumentation block.
Test: atest aconfig.test.java
Bug: 375288788
Change-Id: I3d19f8ad23a07889a69925118a221d147d13a7b1
diff --git a/tools/aconfig/aconfig/templates/FeatureFlagsImpl.java.template b/tools/aconfig/aconfig/templates/FeatureFlagsImpl.java.template
index ec86806..cb52150 100644
--- a/tools/aconfig/aconfig/templates/FeatureFlagsImpl.java.template
+++ b/tools/aconfig/aconfig/templates/FeatureFlagsImpl.java.template
@@ -125,6 +125,7 @@
{{ -endif }}
{{ -if runtime_lookup_required }}
+import android.os.Binder;
import android.provider.DeviceConfig;
import android.provider.DeviceConfig.Properties;
{{ -endif }}
@@ -142,6 +143,7 @@
{{ -endfor }}
{{ for namespace_with_flags in namespace_flags }}
private void load_overrides_{namespace_with_flags.namespace}() \{
+ final long ident = Binder.clearCallingIdentity();
try \{
Properties properties = DeviceConfig.getProperties("{namespace_with_flags.namespace}");
{{ -for flag in namespace_with_flags.flags }}
@@ -159,6 +161,8 @@
+ "flag declaration.",
e
);
+ } finally \{
+ Binder.restoreCallingIdentity(ident);
}
{namespace_with_flags.namespace}_is_cached = true;
}