From f3914285a93a36d41ede770d2a54cc869bc07d9a Mon Sep 17 00:00:00 2001 From: Eric Chang Date: Wed, 23 Feb 2022 11:02:03 -0800 Subject: [PATCH] Change usage of LayoutInflater.from() to LayoutInflater.cloneInContext(). This is more correct and removes the need for overriding getSystemService() in our ContextWrapper, however, since users may be depending on this if they used LayoutInflater.from() leaving in that getSystemService() override. Fixes #3222. RELNOTES=Fix #3222. Generated fragment code previously would cause a Lint issue around LayoutInflater.from(). PiperOrigin-RevId: 430493436 --- .../internal/androidentrypoint/FragmentGenerator.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/java/dagger/hilt/android/processor/internal/androidentrypoint/FragmentGenerator.java b/java/dagger/hilt/android/processor/internal/androidentrypoint/FragmentGenerator.java index e7a70268c63..e57c8f11e62 100644 --- a/java/dagger/hilt/android/processor/internal/androidentrypoint/FragmentGenerator.java +++ b/java/dagger/hilt/android/processor/internal/androidentrypoint/FragmentGenerator.java @@ -245,8 +245,7 @@ private MethodSpec inflatorMethod() { "$T inflater = super.onGetLayoutInflater(savedInstanceState)", AndroidClassNames.LAYOUT_INFLATER) .addStatement( - "return $T.from($T.createContextWrapper(inflater, this))", - AndroidClassNames.LAYOUT_INFLATER, + "return inflater.cloneInContext($T.createContextWrapper(inflater, this))", metadata.componentManager()) .build(); }