117 Commits

Author SHA1 Message Date
pubiqq
23aca03255 [Internal] Remove pre-Lollipop checks
Resolves https://github.com/material-components/material-components-android/pull/4266

GIT_ORIGIN_REV_ID=1de7808e66dd6666c893217c76c7499afe2df6a3
PiperOrigin-RevId: 669688797
2024-09-03 13:31:29 +00:00
pekingme
87076dd20b [Tokens] Upgraded to 8.0.0.
PiperOrigin-RevId: 669673113
2024-09-03 13:28:26 +00:00
pekingme
9188b8f6ab [Tokens] Upgraded to 7.1.0.
PiperOrigin-RevId: 669087033
2024-08-30 18:49:53 +00:00
pekingme
b65df32b0f [Tokens] Upgraded to 7.0.0
PiperOrigin-RevId: 668133320
2024-08-28 22:34:40 +00:00
pekingme
8731cad96a [Tokens] Upgraded to v6.1.0.
PiperOrigin-RevId: 665569215
2024-08-21 17:24:43 +00:00
Material Design Team
31f80151a9 [Snackbar] Set the accessibility pane title right before the Snackbar's appearance to resolve an event stream issue
PiperOrigin-RevId: 664967701
2024-08-20 17:36:35 +00:00
pekingme
da0b738679 [Tokens] Upgraded to v5.0.0.
PiperOrigin-RevId: 663358341
2024-08-16 17:33:16 +00:00
Material Design Team
d7645ae5e1 [Snackbar] Add an accessibility pane title of "Alert"
PiperOrigin-RevId: 655638807
2024-07-25 19:04:11 +00:00
pubiqq
510881a469 [Internal] Stop using deprecated androidx.core.view.* methods
Resolves https://github.com/material-components/material-components-android/pull/4117

GIT_ORIGIN_REV_ID=dd157e8360c2511810496693cec1616fce578655
PiperOrigin-RevId: 632284856
2024-05-13 17:37:38 +00:00
Ga\u00ebtan Muller
b3fe6a7f61 [Cleanup] Remove redundant version checks for api <= 19.
Resolves https://github.com/material-components/material-components-android/pull/3849

GIT_ORIGIN_REV_ID=47bb2fcc8031740e5a7d4f741f1ada2af025e126
PiperOrigin-RevId: 632154861
2024-05-09 18:46:02 +00:00
pfthomas
9b09b693d9 [Tokens] Update tokens to v4.0.0
PiperOrigin-RevId: 626141198
2024-04-19 21:18:49 +00:00
pekingme
28cc2441d0 [Tokens] Updated to version 2.3.4.
PiperOrigin-RevId: 610835532
2024-02-29 08:36:02 -08:00
pekingme
ee7b4bddb4 [Tokens] Added formatting to break long lines and differentiate different comments.
PiperOrigin-RevId: 605684816
2024-02-12 18:03:59 +00:00
pekingme
89212044a9 [Tokens] Updated to v0.213.
PiperOrigin-RevId: 603749766
2024-02-06 14:30:16 +00:00
pekingme
08d7ded67b [Tokens] Upgraded to v0.207.
PiperOrigin-RevId: 600947836
2024-01-24 21:05:53 +00:00
pekingme
4ccaaaa31d [Tokens] Upgraded to v0.203
PiperOrigin-RevId: 579928128
2023-11-08 15:12:21 +00:00
pekingme
637362d597 [Tokens] Upgraded to v0.195
PiperOrigin-RevId: 579905417
2023-11-06 20:27:15 +00:00
pekingme
0463c507d7 [Tokens] Upgraded to v0.185
PiperOrigin-RevId: 579904837
2023-11-06 20:26:18 +00:00
pekingme
bfee8a74d7 [Tokens] Upgraded to v0.175.
PiperOrigin-RevId: 572648883
2023-10-12 11:04:28 -07:00
pekingme
8204856dd4 [Token][Color] Upgraded to v0.170 for tonal surface colors.
PiperOrigin-RevId: 555230534
2023-08-09 19:03:25 +00:00
rightnao
e3b255b3a0 [Docs] Crosslink github docs in javadocs
PiperOrigin-RevId: 546393704
2023-07-11 19:37:37 +00:00
Material Design Team
57b26639d8 [Bugfix] Consistently use window coordinates to calculate Snackbar offsets. In one place screen and window coordinates are mixed, which leads to bad behavior in split screen apps.
PiperOrigin-RevId: 546057340
2023-07-07 17:55:24 +00:00
rightnao
206928b8f9 [Snackbar] Integrate container color token
PiperOrigin-RevId: 524075181
2023-04-17 12:15:26 -07:00
pekingme
9f1caa2c64 [Tokens] Upgraded to v0.162.
PiperOrigin-RevId: 517446114
2023-03-20 21:23:07 +00:00
pubiqq
abd1d1c802 [Snackbar] Fix the snackbar position when the anchor view layout listener is enabled
Resolves https://github.com/material-components/material-components-android/pull/3211
Resolves: https://github.com/material-components/material-components-android/issues/3194

GIT_ORIGIN_REV_ID=ef12e5c4f6c6ec49287a472ba1243c20cc2ac979
PiperOrigin-RevId: 509892239
2023-02-17 04:51:00 -08:00
pubiqq
e06a11982b [Internal] Add compat method to get the screen size
Resolves https://github.com/material-components/material-components-android/pull/3221

GIT_ORIGIN_REV_ID=9323e23689386561d38b0c8c73114e0db7a30557
PiperOrigin-RevId: 509548792
2023-02-15 10:25:53 -08:00
pekingme
23dc14ca3a [Tokens] Updated to v0.157.
PiperOrigin-RevId: 505978081
2023-01-31 20:01:13 +00:00
pekingme
0f0b93c0b1 [Snackbar] Integrated tokens.
PiperOrigin-RevId: 492560860
2022-12-02 18:37:32 -05:00
rightnao
3d3edce956 [Snackbar] Update motion specs
PiperOrigin-RevId: 470790457
2022-08-30 11:21:45 -04:00
Material Design Team
44cc9b745c Add @CanIgnoreReturnValue to some APIs that return this.
PiperOrigin-RevId: 468721442
2022-08-22 15:22:27 -04:00
leticiars
581f7343c6 [Snackbar] Made snackbar javadoc more clear of how its dismissing works.
PiperOrigin-RevId: 468494275
2022-08-19 10:56:35 -04:00
conradchen
fd5ee4a989 [Snackbar] Avoid update layout if bottom margins for anchor view does not change
Whenever the anchor view is being relaid out, we will try to update the bottom margin of the snack bar, which may cause the anchor view be relaid out again, thus an infinite loop. Avoids updating margins if the bottom margin for anchor view doesn't change to fix the issue.

Resolves https://github.com/material-components/material-components-android/issues/2744

PiperOrigin-RevId: 454885847
2022-06-14 10:19:33 -07:00
dsn5ft
e981f2f96c [Snackbar] Add defensive null check for messageView.getLayout() in SnackbarContentLayout onMeasure
PiperOrigin-RevId: 452776106
2022-06-03 11:59:14 -07:00
conradchen
46fa8cc45b [SnackBar] Fix margins are added multiple times when show() is called
When a snack bar is hidden and its show() method is called, it will be added to the target parent, and at this moment the parent view will set the layout params to the snack bar, with the same existing margins if any. Therefore if the margins are already updated with extra margins, the original margins will be incorrectly updated. This CL introduces a flag to tells this situation from other "real" scenarios in which clients want to update their custom margins.

Resolves https://github.com/material-components/material-components-android/issues/2666

PiperOrigin-RevId: 445159923
2022-04-28 12:37:45 -04:00
dsn5ft
a71781355e [Snackbar] Add shape theming support and update M3 style to use new shapeAppearanceCornerExtraSmall
PiperOrigin-RevId: 444883546
2022-04-27 12:37:04 -04:00
dsn5ft
b62b9a50b0 [Gradle] Update library source and target compatibility to Java 8 and add lambda + method reference usage
PiperOrigin-RevId: 443370295
2022-04-21 16:29:39 -04:00
conradchen
d5856fd036 [Snackbar] Fix the issue that setting margins programmatically does not work
We always use the original margins saved when the snackbar is created to update snackbar's actual margins. Therefore the newly set margins will always be overridden. Fixes this by updating original margins when layout params are set.

Resolves https://github.com/material-components/material-components-android/issues/1076

PiperOrigin-RevId: 427795853
2022-02-11 15:43:45 +00:00
conradchen
4c7be52775 [Snackbar] Support setting max lines programmatically
Resolves https://github.com/material-components/material-components-android/issues/2018

PiperOrigin-RevId: 427305265
2022-02-09 15:59:34 +00:00
conradchen
3cf23e4bf1 [Snackbar] Solve lint error caused by @IntDef
It seems like lint won't take both @IntDef and @IntRange into consideration at the same time. Just uses @IntRange to cover all possible values.

Resolves https://github.com/material-components/material-components-android/issues/1767

PiperOrigin-RevId: 424918785
2022-01-28 11:56:33 -08:00
conradchen
ff97a6805c [SnackBar] Enforce vertical layout when action text is too long
The snack bar content layout is by default horizontal, and we only change it to vertical when the action view is too wide and ellipsizes the message text. Therefore if the layout orientation is already vertical, we should just keep the layout and no need to check if the message text is multi-line again.

Resolves https://github.com/material-components/material-components-android/issues/1876

PiperOrigin-RevId: 419885582
2022-01-05 23:26:51 -05:00
Material Design Team
cfc00aa5a3 Update android core class definitions across material
PiperOrigin-RevId: 414839941
2021-12-08 14:56:25 +00:00
conradchen
35d9da8f67 [SnackBar] Fix NPE on Android 8 & 9
It seems like on Android 8 & 9 framework's View implementation has a bug that under certain scenarios if we set a view's visibility when view.getParent() is null, it can cause NPE crash.

Fixes this by switching the order of addView and setVisibility() call.

Resolves https://github.com/material-components/material-components-android/issues/917

PiperOrigin-RevId: 413978332
2021-12-06 19:46:57 +00:00
conradchen
6a3ea94ae0 [Snackbar] Fix maxWidth is not applied on Snackbar
During a previous refactoring, the maxWidth enforcement logic was incorrectly moved to the inner layout of snackbar. Moves the logic back to the outer layout so it can be properly applied.

PiperOrigin-RevId: 413938993
2021-12-06 19:43:13 +00:00
Material Design Team
a487c89185 Internal change
PiperOrigin-RevId: 412135443
2021-11-29 17:35:39 +00:00
conradchen
8729d8ab57 [SnackBar] Fix maxWidth and maxInlineActionWidth are not applied
We load maxWidth and maxInlineActionWidth style attributes in SnackbarContentLayout, but the snackbar styles are only applied to SnackbarLayout. We need to pass the values to SnackbarContentLayout, as we did for actionTextColorAlpha.

Resolves https://github.com/material-components/material-components-android/issues/781

PiperOrigin-RevId: 404320339
2021-10-20 19:18:47 +00:00
pekingme
9de9319b1e [Resources] Added styles in res-public.
PiperOrigin-RevId: 403451624
2021-10-18 15:31:13 -04:00
conradchen
764cd05b9d [M3][Snackbar] Update snackbar dev doc with M3 themes/styles
Also adds missed text appearance attribute.

PiperOrigin-RevId: 395951691
2021-09-15 12:45:45 -07:00
conradchen
41219f05ac [M3][Snackbar] Create snack bar styles
PiperOrigin-RevId: 394314511
2021-09-02 13:01:09 -04:00
conradchen
58ceeab63c [SnackBar] Handle anchor view properly so no memory leak will happen
The anchor view can be detached even when the snack bar (or any
transient bottom bar) is showing. If this situation happens the
global layout listener it registers with the anchor view will
become not removable due to a bug/intended behavior of Android View's
implementation.

We need to remove the listener when the anchor view is detached to
fix the issue.

This CL also refactors the whole implementation of anchor view and consolidates
the anchoring/unanchoring logic to improve readability and robustness of it.

Resolves https://github.com/material-components/material-components-android/issues/2042

PiperOrigin-RevId: 382603130
2021-07-02 08:15:03 -04:00
conradchen
b0558dc006 [Snackbar] Fix memory leak caused by not resetting anchor views
PiperOrigin-RevId: 379830572
2021-06-17 14:51:36 -04:00