Sharesheet - Prevent duplicate direct share targets

Duplicate requests can originate with packageChanged events and when
an activity onRestart() is issued. Check for duplicates and do not
insert them. Also make sure there is adequate space per row even when
display size is at max setting.

Bug: 129980100
Test: ChooserActivityTest && visual inspection
Change-Id: Ica8afe5d20b8d3ae11be90206b23aaebbb03a2c1
2 files changed