From efd71d2124074da74afca45fc6e8b70762e4c91b 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(); }