-
Notifications
You must be signed in to change notification settings - Fork 24.7k
[android] Updated Elevation implementation so that it works with differents borders sizes #6818
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
By analyzing the blame information on this pull request, we identified @mkonicek, @sduddikunta and @trave7er to be potential reviewers. |
@@ -304,6 +304,59 @@ private void updatePath() { | |||
: null; | |||
} | |||
|
|||
private Path getPathForBorderOutline() { | |||
Path mPathForBorderOutline = new Path(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
shall we allocate this variable only once, and reuse it by calling reset()?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok I'll update it
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cool, thanks!
cc @corbt |
cc @kmagiera |
What happens if you have a triangle that also sets a border radius on one or more corners? Is that possible to do? I imagine that this PR doesn't make that situation worse, but is there a way we can extend the logic so it covers that as well? |
@corbt If i'm not mistaken, border radius on android will make/need all borders to have the same width. |
@machard ok. Agree that adding a triangle with a shadow somewhere to the UIExplorer sounds like a good idea. Otherwise LGTM! |
@@ -143,7 +143,7 @@ public void getOutline(Outline outline) { | |||
|
|||
outline.setConvexPath(mPathForBorderRadiusOutline); | |||
} else { | |||
outline.setRect(getBounds()); | |||
outline.setConvexPath(getPathForBorderOutline()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this have impact on performance in the common case (rectangle)?
Thanks for doing this! Please add the example in the UIExplrorer, maybe in the |
@machard do you have any updates for this pull request? It's been a while so we wanted to check in and see if you've looked at the requested changes. |
@machard I'm going through all pull requests and noticed that this one hasn't been updated in a while and has some comments asking questions. I'll unfortunately close this for now (it's a useful fix!) to keep the number of open pull requests down; if you plan to continue working on it please send a new pull request linking to this one. |
Bumps [axios](https://github.com/axios/axios) from 1.7.7 to 1.8.3. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/axios/axios/releases">axios's releases</a>.</em></p> <blockquote> <h2>Release v1.8.3</h2> <h2>Release notes:</h2> <h3>Bug Fixes</h3> <ul> <li>add missing type for allowAbsoluteUrls (<a href="https://redirect.github.com/axios/axios/issues/6818">#6818</a>) (<a href="https://github.com/axios/axios/commit/10fa70ef14fe39558b15a179f0e82f5f5e5d11b2">10fa70e</a>)</li> <li><strong>xhr/fetch:</strong> pass <code>allowAbsoluteUrls</code> to <code>buildFullPath</code> in <code>xhr</code> and <code>fetch</code> adapters (<a href="https://redirect.github.com/axios/axios/issues/6814">#6814</a>) (<a href="https://github.com/axios/axios/commit/ec159e507bdf08c04ba1a10fe7710094e9e50ec9">ec159e5</a>)</li> </ul> <h3>Contributors to this release</h3> <ul> <li><!-- raw HTML omitted --> <a href="https://github.com/Electroid" title="+6/-0 ([facebook#6811](axios/axios#6811) )">Ashcon Partovi</a></li> <li><!-- raw HTML omitted --> <a href="https://github.com/StefanBRas" title="+4/-0 ([facebook#6818](axios/axios#6818) )">StefanBRas</a></li> <li><!-- raw HTML omitted --> <a href="https://github.com/mhassan1" title="+2/-2 ([facebook#6814](axios/axios#6814) )">Marc Hassan</a></li> </ul> <h2>Release v1.8.2</h2> <h2>Release notes:</h2> <h3>Bug Fixes</h3> <ul> <li><strong>http-adapter:</strong> add allowAbsoluteUrls to path building (<a href="https://redirect.github.com/axios/axios/issues/6810">#6810</a>) (<a href="https://github.com/axios/axios/commit/fb8eec214ce7744b5ca787f2c3b8339b2f54b00f">fb8eec2</a>)</li> </ul> <h3>Contributors to this release</h3> <ul> <li><!-- raw HTML omitted --> <a href="https://github.com/lexcorp16" title="+1/-1 ([facebook#6810](axios/axios#6810) )">Fasoro-Joseph Alexander</a></li> </ul> <h2>Release v1.8.1</h2> <h2>Release notes:</h2> <h3>Bug Fixes</h3> <ul> <li><strong>utils:</strong> move <code>generateString</code> to platform utils to avoid importing crypto module into client builds; (<a href="https://redirect.github.com/axios/axios/issues/6789">#6789</a>) (<a href="https://github.com/axios/axios/commit/36a5a620bec0b181451927f13ac85b9888b86cec">36a5a62</a>)</li> </ul> <h3>Contributors to this release</h3> <ul> <li><!-- raw HTML omitted --> <a href="https://github.com/DigitalBrainJS" title="+51/-47 ([facebook#6789](axios/axios#6789) )">Dmitriy Mozgovoy</a></li> </ul> <h2>Release v1.8.0</h2> <h2>Release notes:</h2> <h3>Bug Fixes</h3> <ul> <li><strong>examples:</strong> application crashed when navigating examples in browser (<a href="https://redirect.github.com/axios/axios/issues/5938">#5938</a>) (<a href="https://github.com/axios/axios/commit/1260ded634ec101dd5ed05d3b70f8e8f899dba6c">1260ded</a>)</li> <li>missing word in SUPPORT_QUESTION.yml (<a href="https://redirect.github.com/axios/axios/issues/6757">#6757</a>) (<a href="https://github.com/axios/axios/commit/1f890b13f2c25a016f3c84ae78efb769f244133e">1f890b1</a>)</li> <li><strong>utils:</strong> replace getRandomValues with crypto module (<a href="https://redirect.github.com/axios/axios/issues/6788">#6788</a>) (<a href="https://github.com/axios/axios/commit/23a25af0688d1db2c396deb09229d2271cc24f6c">23a25af</a>)</li> </ul> <h3>Features</h3> <ul> <li>Add config for ignoring absolute URLs (<a href="https://redirect.github.com/axios/axios/issues/5902">#5902</a>) (<a href="https://redirect.github.com/axios/axios/issues/6192">#6192</a>) (<a href="https://github.com/axios/axios/commit/32c7bcc0f233285ba27dec73a4b1e81fb7a219b3">32c7bcc</a>)</li> </ul> <h3>Reverts</h3> <ul> <li>Revert "chore: expose fromDataToStream to be consumable (<a href="https://redirect.github.com/axios/axios/issues/6731">#6731</a>)" (<a href="https://redirect.github.com/axios/axios/issues/6732">#6732</a>) (<a href="https://github.com/axios/axios/commit/1317261125e9c419fe9f126867f64d28f9c1efda">1317261</a>), closes <a href="https://redirect.github.com/axios/axios/issues/6731">#6731</a> <a href="https://redirect.github.com/axios/axios/issues/6732">#6732</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/axios/axios/blob/v1.x/CHANGELOG.md">axios's changelog</a>.</em></p> <blockquote> <h2><a href="https://github.com/axios/axios/compare/v1.8.2...v1.8.3">1.8.3</a> (2025-03-10)</h2> <h3>Bug Fixes</h3> <ul> <li>add missing type for allowAbsoluteUrls (<a href="https://redirect.github.com/axios/axios/issues/6818">#6818</a>) (<a href="https://github.com/axios/axios/commit/10fa70ef14fe39558b15a179f0e82f5f5e5d11b2">10fa70e</a>)</li> <li><strong>xhr/fetch:</strong> pass <code>allowAbsoluteUrls</code> to <code>buildFullPath</code> in <code>xhr</code> and <code>fetch</code> adapters (<a href="https://redirect.github.com/axios/axios/issues/6814">#6814</a>) (<a href="https://github.com/axios/axios/commit/ec159e507bdf08c04ba1a10fe7710094e9e50ec9">ec159e5</a>)</li> </ul> <h3>Contributors to this release</h3> <ul> <li><!-- raw HTML omitted --> <a href="https://github.com/Electroid" title="+6/-0 ([facebook#6811](axios/axios#6811) )">Ashcon Partovi</a></li> <li><!-- raw HTML omitted --> <a href="https://github.com/StefanBRas" title="+4/-0 ([facebook#6818](axios/axios#6818) )">StefanBRas</a></li> <li><!-- raw HTML omitted --> <a href="https://github.com/mhassan1" title="+2/-2 ([facebook#6814](axios/axios#6814) )">Marc Hassan</a></li> </ul> <h2><a href="https://github.com/axios/axios/compare/v1.8.1...v1.8.2">1.8.2</a> (2025-03-07)</h2> <h3>Bug Fixes</h3> <ul> <li><strong>http-adapter:</strong> add allowAbsoluteUrls to path building (<a href="https://redirect.github.com/axios/axios/issues/6810">#6810</a>) (<a href="https://github.com/axios/axios/commit/fb8eec214ce7744b5ca787f2c3b8339b2f54b00f">fb8eec2</a>)</li> </ul> <h3>Contributors to this release</h3> <ul> <li><!-- raw HTML omitted --> <a href="https://github.com/lexcorp16" title="+1/-1 ([facebook#6810](axios/axios#6810) )">Fasoro-Joseph Alexander</a></li> </ul> <h2><a href="https://github.com/axios/axios/compare/v1.8.0...v1.8.1">1.8.1</a> (2025-02-26)</h2> <h3>Bug Fixes</h3> <ul> <li><strong>utils:</strong> move <code>generateString</code> to platform utils to avoid importing crypto module into client builds; (<a href="https://redirect.github.com/axios/axios/issues/6789">#6789</a>) (<a href="https://github.com/axios/axios/commit/36a5a620bec0b181451927f13ac85b9888b86cec">36a5a62</a>)</li> </ul> <h3>Contributors to this release</h3> <ul> <li><!-- raw HTML omitted --> <a href="https://github.com/DigitalBrainJS" title="+51/-47 ([facebook#6789](axios/axios#6789) )">Dmitriy Mozgovoy</a></li> </ul> <h1><a href="https://github.com/axios/axios/compare/v1.7.9...v1.8.0">1.8.0</a> (2025-02-25)</h1> <h3>Bug Fixes</h3> <ul> <li><strong>examples:</strong> application crashed when navigating examples in browser (<a href="https://redirect.github.com/axios/axios/issues/5938">#5938</a>) (<a href="https://github.com/axios/axios/commit/1260ded634ec101dd5ed05d3b70f8e8f899dba6c">1260ded</a>)</li> <li>missing word in SUPPORT_QUESTION.yml (<a href="https://redirect.github.com/axios/axios/issues/6757">#6757</a>) (<a href="https://github.com/axios/axios/commit/1f890b13f2c25a016f3c84ae78efb769f244133e">1f890b1</a>)</li> <li><strong>utils:</strong> replace getRandomValues with crypto module (<a href="https://redirect.github.com/axios/axios/issues/6788">#6788</a>) (<a href="https://github.com/axios/axios/commit/23a25af0688d1db2c396deb09229d2271cc24f6c">23a25af</a>)</li> </ul> <h3>Features</h3> <ul> <li>Add config for ignoring absolute URLs (<a href="https://redirect.github.com/axios/axios/issues/5902">#5902</a>) (<a href="https://redirect.github.com/axios/axios/issues/6192">#6192</a>) (<a href="https://github.com/axios/axios/commit/32c7bcc0f233285ba27dec73a4b1e81fb7a219b3">32c7bcc</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/axios/axios/commit/39ec206483a89921732bdc8a5be67e350bfc23f0"><code>39ec206</code></a> chore(release): v1.8.3 (<a href="https://redirect.github.com/axios/axios/issues/6819">#6819</a>)</li> <li><a href="https://github.com/axios/axios/commit/10fa70ef14fe39558b15a179f0e82f5f5e5d11b2"><code>10fa70e</code></a> fix: add missing type for allowAbsoluteUrls (<a href="https://redirect.github.com/axios/axios/issues/6818">#6818</a>)</li> <li><a href="https://github.com/axios/axios/commit/7821ef9f5be2d62fbc3f01040d9df6f2225eb9d8"><code>7821ef9</code></a> docs: update readme to include bun install (<a href="https://redirect.github.com/axios/axios/issues/6811">#6811</a>)</li> <li><a href="https://github.com/axios/axios/commit/ec159e507bdf08c04ba1a10fe7710094e9e50ec9"><code>ec159e5</code></a> fix(xhr/fetch): pass <code>allowAbsoluteUrls</code> to <code>buildFullPath</code> in <code>xhr</code> and `fet...</li> <li><a href="https://github.com/axios/axios/commit/a9f7689b0c4b6d68c7f587c3aa376860da509d94"><code>a9f7689</code></a> chore(release): v1.8.2 (<a href="https://redirect.github.com/axios/axios/issues/6812">#6812</a>)</li> <li><a href="https://github.com/axios/axios/commit/fb8eec214ce7744b5ca787f2c3b8339b2f54b00f"><code>fb8eec2</code></a> fix(http-adapter): add allowAbsoluteUrls to path building (<a href="https://redirect.github.com/axios/axios/issues/6810">#6810</a>)</li> <li><a href="https://github.com/axios/axios/commit/98120457559e573024862e2925d56295a965ad7e"><code>9812045</code></a> chore(sponsor): update sponsor block (<a href="https://redirect.github.com/axios/axios/issues/6804">#6804</a>)</li> <li><a href="https://github.com/axios/axios/commit/72acf759373ef4e211d5299818d19e50e08c02f8"><code>72acf75</code></a> chore(sponsor): update sponsor block (<a href="https://redirect.github.com/axios/axios/issues/6794">#6794</a>)</li> <li><a href="https://github.com/axios/axios/commit/2e64afdff5c41e38284a6fb8312f2745072513a1"><code>2e64afd</code></a> chore(release): v1.8.1 (<a href="https://redirect.github.com/axios/axios/issues/6800">#6800</a>)</li> <li><a href="https://github.com/axios/axios/commit/36a5a620bec0b181451927f13ac85b9888b86cec"><code>36a5a62</code></a> fix(utils): move <code>generateString</code> to platform utils to avoid importing crypto...</li> <li>Additional commits viewable in <a href="https://github.com/axios/axios/compare/v1.7.7...v1.8.3">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/microsoft/react-native-macos/network/alerts). </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
When using elevation while using the triangle css tricks, the shadow is not good.
before:

after:
