We had fixed this before and then regressed when moving to TextInputLayout, so added a proper test this time.
Fixes: 380207192
Test: atest ZenModeEditNamePreferenceControllerTest
Flag: android.app.modes_ui
Change-Id: Ic25b0a5a6997e7b3bb26bf26ed7e8e92654a1c11
In addition to looking nicer, this fixes two accessibility issues ("no hint when text is entered" and "reason for disabled button is unclear").
This requires a bit of theme merging black magic, because TextInputLayout requires a Theme.AppCompat descendant, which the Settings theme isn't.
Fixes: 356398157
Fixes: 370654542
Fixes: 369942776
Test: atest ZenModeEditNamePreferenceControllerTest
Flag: android.app.modes_ui
Change-Id: I92d8ec044dabc6daed5d755e206120ec7abc143e
Touch targets should be at a minimum 48x48 dp; this view was 47 dp high. ¯\_(ツ)_/¯
Fixes: 369963437
Test: manual
Flag: android.app.modes_ui
Change-Id: I8fda0cd505f02abb561e24e583b3ab509b5ef4dd
Also fixed paddings a bit (e.g. Done button was too close to the icon grid).
Fixes: 369503296
Test: manual
Flag: android.app.modes_ui
Change-Id: Ic7b7dc9584db1f04b448fce828a8ec70cf17f06a
This also unifies the "icon picker" screen with the new "add mode" screen since in both cases we want to edit name and icon together (and not save updates until the user confirms).
Bug: 326442408
Bug: 346278854
Test: atest com.android.settings.notification.modes
Flag: android.app.modes_ui
Change-Id: I8a9d07ba0b6c55f3abc1b9884f278d51d178dc83