apache / cordova-android

Apache Cordova Android
https://cordova.apache.org/
Apache License 2.0
3.59k stars 1.52k forks source link

fix(GH-1616): Fix monochrome checks #1632

Closed breautek closed 10 months ago

breautek commented 10 months ago

Platforms affected

Android

Motivation and Context

fixes #1616

Description

cordova-android 12 introduces support for monochrome icons. It was intended for it to be optional. However due to a faulty check, if you didn't supply the monochrome property, adaptive icons will not be written out.

I've corrected the check. Additionally I added the dedent package which is a string template formatter so that we can more easily format some of our inline templates to make it easier to read.

I've also added a warning for when the monochrome property is given without the required adaptive properties. Tests were added to assert that icons are written as expected with and without the monochrome property as well as the warning is emitted.

There is one caveat, the warning in practice isn't seen by the user because the CLI ends up kicking out earlier via

https://github.com/apache/cordova-android/blob/master/lib/prepare.js#L666

But I opted to keep it anyway.

Testing

Ran npm test. Packed and tested locally and observed adaptive icons being written as expected with and without monochrome icon.

Checklist