16 Commits

Author SHA1 Message Date
Rikka
95a5b57265
Remove "Flashing" overlay
Fix #3579, fix #3250
2021-01-15 21:28:59 -08:00
RikkaW
0df891b336 Handle window insets with a new way
For example, switching pages in home should only have scale and alpha animations, but a "translate y" animation shows. This is because Data Binding is triggered later (like "in the next frame"), causing the animation runs before view attribute changes.

This commit introduces WindowInsetsHelper class and use it to handle all window insets. With the help of LayoutInflaterFactory from the previous commit, we can control insets behavior by adding our attributes to the XML and anything is done by WindowInsetsHelper class.

As changes are highly coupling, this commit also contains new ItemDecoration for lists, replacing the random combination of padding and empty drawable. And "fixEdgeEffect" extension for RecyclerView, making edge effects respect padding.
2020-11-19 23:24:39 -08:00
RikkaW
385853a290 Introduce LayoutInflaterFactory
This add the ability touch layout XML instantiates process. And most importantly, we can access AttributeSet, making custom view attribute possible.

Some other changes requires this.
2020-11-19 23:24:39 -08:00
RikkaW
c93ada03c7 Implement Edge-to-edge with newer APIs
The implementation adds a "Base" family styles, making creating themes across multiple API versions more clearer and easier.
2020-11-19 23:21:36 -08:00
vvb2060
533cb8eb58 Tapjacking protection 2020-10-22 02:40:47 -07:00
vvb2060
5833aadef5 Silence kotlin warnings 2020-10-17 05:57:35 -07:00
topjohnwu
fc19b50290 Cleanup ActivityResult callbacks 2020-10-06 02:04:19 -07:00
topjohnwu
d7f7508fa2 Move setContentView out of onCreate 2020-09-11 02:31:41 -07:00
topjohnwu
fb04e32480 Bypass external rw check in the proper location 2020-08-22 05:27:30 -07:00
vvb2060
9e81db8692 Support scoped storage 2020-08-22 04:38:51 -07:00
topjohnwu
5ed4071f74 Change ActivityExecutor signature 2020-08-19 05:19:24 -07:00
topjohnwu
551a478fdc Fix occasional broken animation 2020-08-19 05:19:24 -07:00
topjohnwu
7c319f5fc3 Moar refactoring 2020-08-19 05:19:24 -07:00
topjohnwu
1fcf35ebeb Do not hardcode appcompat widget classes
They should be handled by the theme
2020-08-19 05:19:24 -07:00
topjohnwu
34450cdddd More refactoring
Cleanups, move classes to sane locations, etc.
2020-08-19 02:05:23 -07:00
topjohnwu
846bbb4da1 Reorganize app source code 2020-08-18 06:31:15 -07:00