Esto es lo que veo en Android Studio: 
Si bien este es en realidad el código real :
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { if (requestCode != RequestCodes.CRED_HINT || resultCode != Activity.RESULT_OK) { return; } setResult(Resource.<User>forLoading()); final Credential credential = data.getParcelableExtra(Credential.EXTRA_KEY); final String email = credential.getId(); ProviderUtils.fetchTopProvider(getAuth(), getArguments(), email) .addOnCompleteListener(new OnCompleteListener<String>() { @Override public void onComplete(@NonNull Task<String> task) { if (task.isSuccessful()) { setResult(Resource.forSuccess(new User.Builder(task.getResult(), email) .setName(credential.getName()) .setPhotoUri(credential.getProfilePictureUri()) .build())); } else { setResult(Resource.<User>forFailure(task.getException())); } } }); }¿Cómo puedo evitar que Anroid Studio haga esto? ¿Y por qué reglas en absoluto Android Studio este acortamiento?
No puedo cerrar esto como un duplicado de esto , así que solo pondré la respuesta aquí (editada) para futuras referencias:
Puede deshabilitar el plegado de código en el menú Configuración de Android Studio, desmarque las casillas "Cierres" y "Constructor genérico y parámetros de método" en Editor → General → Plegado de código :
En cuanto a la razón, la captura de pantalla tiene la respuesta, pero está configurada para plegar "Cierres" , que son clases internas anónimas con 1 método, así como "Constructor genérico y parámetros de método" .