agents/projects/code-health/java-inline-fqn-cleanup/references/patterns.md
This document contains standard patterns and examples for identifying and cleaning up inline fully qualified Java names (FQNs).
android.view.View view = ...View view = ... (with import android.view.View; added at top)org.chromium.build.BuildConfig.IS_CHROME_BRANDEDBuildConfig.IS_CHROME_BRANDED (with
import org.chromium.build.BuildConfig; added at top)@OptIn(markerClass = org.chromium.net.QuicOptions.Experimental.class)@OptIn(markerClass = QuicOptions.Experimental.class) (with
import org.chromium.net.QuicOptions; added at top)void foo(org.chromium.base.Callback<T> callback)void foo(Callback<T> callback) (with
import org.chromium.base.Callback; added at top)java.lang.String text = ...String text = ... (DO NOT add an import statement since
java.lang.* is implicitly imported by Java. Adding it will cause a
RedundantImport linter error.).R. (e.g., android.R.attr
or org.chromium.chrome.R.id).R classes are almost always imported (e.g.,
import org.chromium.chrome.R;). Importing a secondary R class (like
android.R) creates an unresolvable naming collision that breaks the build.
These MUST remain fully qualified.