Fix blocked numbers rotation jank.

+ Saved search term.
+ Fix padding/shadow jank between rotations.
+ Fix title disappearing for import on rotation.

Bug: 24910704
Change-Id: Ib683bd07ad629917ac429a5f33be54ecf781e33d
diff --git a/res/layout/blocked_number_fragment.xml b/res/layout/blocked_number_fragment.xml
index 7aff06e..4bc2085 100644
--- a/res/layout/blocked_number_fragment.xml
+++ b/res/layout/blocked_number_fragment.xml
@@ -18,7 +18,6 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:orientation="vertical"
-    android:paddingTop="?android:attr/actionBarSize"
     android:background="@color/blocked_number_background">
 
     <ListView android:id="@id/android:list"
diff --git a/res/layout/blocked_numbers_activity.xml b/res/layout/blocked_numbers_activity.xml
index b5810b7..d28eaf8 100644
--- a/res/layout/blocked_numbers_activity.xml
+++ b/res/layout/blocked_numbers_activity.xml
@@ -17,5 +17,6 @@
 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/blocked_numbers_activity_container"
     android:layout_width="match_parent"
-    android:layout_height="match_parent">
+    android:layout_height="match_parent"
+    android:layout_marginTop="@dimen/action_bar_height">
 </FrameLayout>
diff --git a/res/layout/view_numbers_to_import_fragment.xml b/res/layout/view_numbers_to_import_fragment.xml
index c79e69a..1836f8d 100644
--- a/res/layout/view_numbers_to_import_fragment.xml
+++ b/res/layout/view_numbers_to_import_fragment.xml
@@ -18,7 +18,6 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:orientation="vertical"
-    android:paddingTop="?android:attr/actionBarSize"
     android:background="@color/blocked_number_background">
 
     <ListView android:id="@id/android:list"
diff --git a/src/com/android/dialer/filterednumber/BlockedNumbersFragment.java b/src/com/android/dialer/filterednumber/BlockedNumbersFragment.java
index 7788cbe..fa40e26 100644
--- a/src/com/android/dialer/filterednumber/BlockedNumbersFragment.java
+++ b/src/com/android/dialer/filterednumber/BlockedNumbersFragment.java
@@ -109,7 +109,6 @@
         ColorDrawable backgroundDrawable =
                 new ColorDrawable(getActivity().getColor(R.color.dialer_theme_color));
         actionBar.setBackgroundDrawable(backgroundDrawable);
-        actionBar.setElevation(getResources().getDimensionPixelSize(R.dimen.action_bar_elevation));
         actionBar.setDisplayShowCustomEnabled(false);
         actionBar.setDisplayHomeAsUpEnabled(true);
         actionBar.setDisplayShowHomeEnabled(true);
@@ -138,8 +137,7 @@
     @Override
     public View onCreateView(
             LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
-        View view = inflater.inflate(R.layout.blocked_number_fragment, container, false);
-        return view;
+        return inflater.inflate(R.layout.blocked_number_fragment, container, false);
     }
 
     @Override
diff --git a/src/com/android/dialer/filterednumber/ManageBlockedNumbersActivity.java b/src/com/android/dialer/filterednumber/ManageBlockedNumbersActivity.java
index f785cf7..109fd97 100644
--- a/src/com/android/dialer/filterednumber/ManageBlockedNumbersActivity.java
+++ b/src/com/android/dialer/filterednumber/ManageBlockedNumbersActivity.java
@@ -120,7 +120,7 @@
 
     @Override
     public boolean isActionBarShowing() {
-        return true;
+        return false;
     }
 
     @Override
@@ -135,11 +135,11 @@
 
     @Override
     public int getActionBarHideOffset() {
-        return getSupportActionBar().getHideOffset();
+        return 0;
     }
 
     @Override
     public int getActionBarHeight() {
-        return getSupportActionBar().getHeight();
+        return 0;
     }
 }
diff --git a/src/com/android/dialer/filterednumber/ViewNumbersToImportFragment.java b/src/com/android/dialer/filterednumber/ViewNumbersToImportFragment.java
index 947dc67..9912416 100644
--- a/src/com/android/dialer/filterednumber/ViewNumbersToImportFragment.java
+++ b/src/com/android/dialer/filterednumber/ViewNumbersToImportFragment.java
@@ -72,6 +72,10 @@
 
         ActionBar actionBar = ((AppCompatActivity) getActivity()).getSupportActionBar();
         actionBar.setTitle(R.string.import_send_to_voicemail_numbers_label);
+        actionBar.setDisplayShowCustomEnabled(false);
+        actionBar.setDisplayHomeAsUpEnabled(true);
+        actionBar.setDisplayShowHomeEnabled(true);
+        actionBar.setDisplayShowTitleEnabled(true);
 
         getActivity().findViewById(R.id.cancel_button).setOnClickListener(this);
         getActivity().findViewById(R.id.import_button).setOnClickListener(this);
diff --git a/src/com/android/dialer/list/BlockedListSearchFragment.java b/src/com/android/dialer/list/BlockedListSearchFragment.java
index 6ff7dda..d1490f5 100644
--- a/src/com/android/dialer/list/BlockedListSearchFragment.java
+++ b/src/com/android/dialer/list/BlockedListSearchFragment.java
@@ -19,6 +19,7 @@
 import android.support.v7.app.ActionBar;
 import android.support.v7.app.AppCompatActivity;
 import android.text.Editable;
+import android.text.TextUtils;
 import android.text.TextWatcher;
 import android.util.Log;
 import android.util.TypedValue;
@@ -41,9 +42,12 @@
         implements FilterNumberDialogFragment.Callback {
     private static final String TAG = BlockedListSearchFragment.class.getSimpleName();
 
+    private static final String KEY_SEARCH_QUERY = "search_query";
+
     private FilteredNumberAsyncQueryHandler mFilteredNumberAsyncQueryHandler;
 
     private EditText mSearchView;
+    private String mSearchQuery;
 
     private final TextWatcher mPhoneSearchQueryTextListener = new TextWatcher() {
         @Override
@@ -52,7 +56,8 @@
 
         @Override
         public void onTextChanged(CharSequence s, int start, int before, int count) {
-            setQueryString(s.toString(), false);
+            mSearchQuery = s.toString();
+            setQueryString(mSearchQuery, false);
         }
 
         @Override
@@ -72,7 +77,6 @@
                 }
             };
 
-
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
@@ -82,6 +86,9 @@
 
         mFilteredNumberAsyncQueryHandler = new FilteredNumberAsyncQueryHandler(
                 getContext().getContentResolver());
+        if (savedInstanceState != null) {
+            mSearchQuery = savedInstanceState.getString(KEY_SEARCH_QUERY);
+        }
     }
 
     @Override
@@ -90,8 +97,6 @@
 
         ActionBar actionBar = ((AppCompatActivity) getActivity()).getSupportActionBar();
         actionBar.setCustomView(R.layout.search_edittext);
-        actionBar.setBackgroundDrawable(null);
-        actionBar.setElevation(0);
         actionBar.setDisplayShowCustomEnabled(true);
         actionBar.setDisplayHomeAsUpEnabled(false);
         actionBar.setDisplayShowHomeEnabled(false);
@@ -100,21 +105,36 @@
                 .getCustomView().findViewById(R.id.search_view_container);
         searchEditTextLayout.expand(false, true);
         searchEditTextLayout.setCallback(mSearchLayoutCallback);
+        searchEditTextLayout.setBackgroundDrawable(null);
 
         mSearchView = (EditText) searchEditTextLayout.findViewById(R.id.search_view);
         mSearchView.addTextChangedListener(mPhoneSearchQueryTextListener);
         mSearchView.setHint(R.string.block_number_search_hint);
 
+        searchEditTextLayout.findViewById(R.id.search_box_expanded)
+                .setBackgroundColor(getContext().getResources().getColor(android.R.color.white));
+
+        if (!TextUtils.isEmpty(mSearchQuery)) {
+            mSearchView.setText(mSearchQuery);
+        }
+
         // TODO: Don't set custom text size; use default search text size.
         mSearchView.setTextSize(TypedValue.COMPLEX_UNIT_PX,
                 getResources().getDimension(R.dimen.blocked_number_search_text_size));
     }
 
     @Override
+    public void onSaveInstanceState(Bundle outState) {
+        super.onSaveInstanceState(outState);
+        outState.putString(KEY_SEARCH_QUERY, getAdapter().getQueryString());
+    }
+
+    @Override
     protected ContactEntryListAdapter createListAdapter() {
         BlockedListSearchAdapter adapter = new BlockedListSearchAdapter(getActivity());
         adapter.setDisplayPhotos(true);
         adapter.setUseCallableUri(usesCallableUri());
+        adapter.setQueryString(mSearchQuery);
         return adapter;
     }
 
@@ -183,7 +203,8 @@
         if (activity == null) {
             return;
         }
-        activity.onBackPressed();
+
+        activity.showManagementUi();
     }
 
     @Override
diff --git a/src/com/android/dialer/widget/SearchEditTextLayout.java b/src/com/android/dialer/widget/SearchEditTextLayout.java
index 544749f..4f100dc 100644
--- a/src/com/android/dialer/widget/SearchEditTextLayout.java
+++ b/src/com/android/dialer/widget/SearchEditTextLayout.java
@@ -230,7 +230,6 @@
         setElevation(0);
         setPaddingRelative(paddingStart, paddingTop, paddingEnd, paddingBottom);
 
-        setElevation(0);
         if (requestFocus) {
             mSearchView.requestFocus();
         }