From d625d28ec6cf22c128d0ef0b8e64a9fff4b64aec Mon Sep 17 00:00:00 2001 From: Andrew Lee Date: Wed, 21 Oct 2015 01:27:04 -0700 Subject: Fix scrolling in blocked numbers list. + Add elements as header, so they scroll with the list. + Shuffle around some layouts to make this work correctly. + Replace default ListView divider with custom drawable, to achieve the desired effect of removing the divider on the first list item. + Override BlockedNumberAdapter to never report itself as empty. Otherwise, the header will disappear. + Tweak some padding. Bug: 25134186 Change-Id: I07711437fea2d3042d3987983667ab5316d51fcc --- src/com/android/dialer/filterednumber/BlockedNumberAdapter.java | 8 +++++++- src/com/android/dialer/filterednumber/BlockedNumbersFragment.java | 4 ++++ 2 files changed, 11 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/com/android/dialer/filterednumber/BlockedNumberAdapter.java b/src/com/android/dialer/filterednumber/BlockedNumberAdapter.java index 6cd99c6b8..7777aeb71 100644 --- a/src/com/android/dialer/filterednumber/BlockedNumberAdapter.java +++ b/src/com/android/dialer/filterednumber/BlockedNumberAdapter.java @@ -64,7 +64,7 @@ public class BlockedNumberAdapter extends NumberAdapter { normalizedNumber, number, countryIso, - null, + number, R.id.blocked_number_fragment, getFragmentManager(), null /* callback */); @@ -73,4 +73,10 @@ public class BlockedNumberAdapter extends NumberAdapter { updateView(view, number, countryIso); } + + @Override + public boolean isEmpty() { + // Always return false, so that the header with blocking-related options always shows. + return false; + } } diff --git a/src/com/android/dialer/filterednumber/BlockedNumbersFragment.java b/src/com/android/dialer/filterednumber/BlockedNumbersFragment.java index 2f7b2f169..c478b8301 100644 --- a/src/com/android/dialer/filterednumber/BlockedNumbersFragment.java +++ b/src/com/android/dialer/filterednumber/BlockedNumbersFragment.java @@ -57,6 +57,10 @@ public class BlockedNumbersFragment extends ListFragment public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); + LayoutInflater inflater = + (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE); + getListView().addHeaderView(inflater.inflate(R.layout.blocked_number_header, null)); + if (mAdapter == null) { mAdapter = BlockedNumberAdapter.newBlockedNumberAdapter( getContext(), getActivity().getFragmentManager()); -- cgit v1.2.3