media: Fix logical typo in EmeConfig selection rule accumulation
Fix a logical typo inside KeySystemConfigSelector::ConfigState::AddRule()
where the 'hw_secure_codecs' branch used '&&' instead of '||'.
Under the previous code, once rules.hw_secure_codecs was set to any
non-unset value (such as kUnset during codec capability checks),
the second condition rules.hw_secure_codecs == EmeConfigRuleState::kUnset
evaluated to false, silently preventing any subsequent robustness rules
(such as 'SW_SECURE_DECODE' on Android which returns 'kRequired') from
correctly upgrading the hardware secure codecs requirement field.
By changing the logical AND (&&) to a logical OR (||), this branch now
correctly matches the behavior of its 'identifier' and 'persistence'
siblings, allowing the hardware secure codecs requirement to be successfully
and correctly updated.
This solves a 4-year-old typo introduced in commit 48f8ca44b5b2e01517c
where the struct-based refactoring of EmeConfig was added, restoring the
intended rule-upgrade and L1/L3 enforcer behaviors.
Added a corresponding unit test to key_system_config_selector_unittest.cc
to cover this real-world Android 'SW_SECURE_DECODE' rule-accumulation upgrade
and prevent regressions.