Hisense portrait does not deliver thumbnail, must be resized.
Fixed portrait size on tablet dialog.
Fixed portrait size on tablet dialog.
On tablet, clear detail view after deleting contact.
Toggled show/hide historical in options menu.
Reloaded contact list on tablet properly.
Timeline recording activated by default.
Timeline recording activated by default.
Fixed instrumented test on Timeline level.
Upgrade to gradle 8.0
Added filtering of historical contacts in UI.
Only change historical state of contact after dialog ends.
Historical contact as timeline extra.
Historical contact as timeline extra.
Added timeline extra such as creation date.
Clean phone numbers added.
Removed floating action button (FAB), now restore timeline by slide.
Fixed bug with address in timeline.
Addresses can be parse from one-liners.
Restore timeline now choose into which partial contact.
Delete duplicates textview now scrollable.
Forbid timeline-restoring existing contact data.
Refactored callback interfaces, put into UI package.
Restoring timeline items to contact data.
Callback interface for delete duplicates.
Delete duplicates now in dialog.
Test for MenuPopup in FloatingActionButton.
Moved portrait handling to util class, called from dialog.
Portrait dialog mockup.
Showing low-res portrait in item details.
Fixed bug with unified name change.
Fixed input validity listeners for orga, null vs empty str.
Decided on cropped portrait thumbnails.
Square image for thumbnails, cropping intent for small images.
Change portrait by intent. But not square.
Two uppercase letters for thumbnail replacement in list view.
Added rounded portrait images in list view.
Fixed portrait loading and deletion.
Added contact data size for deleting duplicates.
Added duplicate elimination.
Added basic hi-res portrait handling.
Removed obsolete code.
Explicit high-res portrait.
Added test portrait image, 256->96.
Preparation for portrait aka avatar.
Refactored input checking.
No button disable for Hisense.
Show address on map intent.
Action-based enabling/disabling, but initial Ok disable is gone.
Refined dialog validity check.
Contact name and other label-less data can now be checked during dialog entry.
Fixed dropdown on label text.
Refactored edit dialog UIs.
dataId in dialog title.
Deleting labeled items by dataId, not label+value.
Fixed too short combobox.
Keeping search field.
Slighty improvement for empty raw id labels.
And another gradle update.
Allowed deleting of contacts, but does not work yet.
Repaired editing names.
Fixed crash when creating new contacts.
Allowed deleting of contacts, but does not work yet.
Fixed switching back from custom to standard label.
Common label UI also for address.
Common label UI also for phone.
Externalized label UI xml.
Shifted empty-key check for labeled data dialogs into superclass.
Fixed setting existing birthday date in dialog.
Combobox (spinner) and text field for phone/email label.
Fixed address deletion.
Fixed label change for phones.
Abstract superclass for all editing dialogs.
Phone adding by 'no phones yet' slide.
Name now showing uni id.
Raw id now also for birthday list.
Organization has now rawId field.
First try for save as on birthdays.
Deletion of birthdays as first test.
Added UI for more actions.
More details on metadata like timeline recording.
Simplified account checking.
Repaired birthday UI.
Birthday in GUI.
Streamlined account spinner.
Updating birthdays correctly.
Now also deleting contact data with data id removal.
Getting data id after insert, for birthday.
Updated entry display.
Notes wrapped by layout weight.
Still allow text selection.
More edit trigger eventing.
Name show in included layout.
Editing by slide instead of longclick, so selection still works.
Renamed PartialContact.
First trial to record phone.
Timeline item for organizations.
Contact change timeline now by checkbox... for orga only.
Big renames, part 2.
Notes work.