Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a1d699ba authored by Yorke Lee's avatar Yorke Lee Committed by Android (Google) Code Review
Browse files

Merge "Fix jank in no favorites screen when showing/hiding dialpad DO NOT MERGE" into klp-dev

parents 0b218533 6b55340d
Loading
Loading
Loading
Loading
+6 −0
Original line number Original line Diff line number Diff line
@@ -140,6 +140,12 @@
                    android:layout_alignParentRight="true"
                    android:layout_alignParentRight="true"
                    />
                    />
            </RelativeLayout>
            </RelativeLayout>
            <Space
                android:id="@+id/contact_tile_frame_spacer"
                android:layout_height="wrap_content"
                android:layout_width="match_parent"
                android:layout_alignParentBottom="true"
                android:visibility="gone"/>
        </LinearLayout>
        </LinearLayout>
    </FrameLayout>
    </FrameLayout>


+0 −1
Original line number Original line Diff line number Diff line
@@ -58,5 +58,4 @@
        android:layout_alignParentBottom="true"
        android:layout_alignParentBottom="true"
        layout="@layout/phone_no_favorites"
        layout="@layout/phone_no_favorites"
        android:visibility="gone"/>
        android:visibility="gone"/>

</RelativeLayout>
</RelativeLayout>
+4 −10
Original line number Original line Diff line number Diff line
@@ -18,7 +18,6 @@
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:minHeight="?android:attr/listPreferredItemHeight">
    android:minHeight="?android:attr/listPreferredItemHeight">


    <include
    <include
@@ -33,23 +32,18 @@
    <LinearLayout
    <LinearLayout
        android:id="@+id/nofavorite_frame"
        android:id="@+id/nofavorite_frame"
        android:layout_width="match_parent"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:orientation="vertical"
        android:layout_gravity="center"
        android:gravity="center"
        android:gravity="center"
        android:layout_alignParentLeft="true"
        android:layout_centerInParent="true">
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_above="@id/show_all_contact_button_in_nofav">

        <ImageView
        <ImageView
            android:id="@+id/nofavorite_image"
            android:id="@+id/nofavorite_image"
            android:layout_height="wrap_content"
            android:layout_height="wrap_content"
            android:layout_width="match_parent"
            android:layout_width="match_parent"
            android:gravity="center_horizontal"
            android:gravity="center_horizontal"
            android:src="@drawable/no_favorites_banner"
            android:src="@drawable/no_favorites_banner"
            android:layout_marginBottom="14dp"/>
            android:layout_marginBottom="14dp"

            android:contentDescription="@string/no_favorites"/>
        <TextView
        <TextView
            android:id="@+id/title"
            android:id="@+id/title"
            android:layout_width="match_parent"
            android:layout_width="match_parent"
+32 −2
Original line number Original line Diff line number Diff line
@@ -45,9 +45,12 @@ import android.util.Log;
import android.view.Menu;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MenuItem;
import android.view.View;
import android.view.View;
import android.view.ViewGroup.LayoutParams;
import android.view.ViewTreeObserver.OnGlobalLayoutListener;
import android.view.inputmethod.InputMethodManager;
import android.view.inputmethod.InputMethodManager;
import android.widget.AbsListView.OnScrollListener;
import android.widget.AbsListView.OnScrollListener;
import android.widget.EditText;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.PopupMenu;
import android.widget.PopupMenu;
import android.widget.Toast;
import android.widget.Toast;


@@ -150,7 +153,9 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O
    private View mDialButton;
    private View mDialButton;
    private PopupMenu mOverflowMenu;
    private PopupMenu mOverflowMenu;


    // Padding view used to shift the fragments up when the dialpad is shown.
    // Padding view used to shift the fragment frame up when the dialpad is shown so that
    // the contents of the fragment frame continue to exist in a layout of the same height
    private View mFragmentsSpacer;
    private View mFragmentsFrame;
    private View mFragmentsFrame;


    private boolean mInDialpadSearch;
    private boolean mInDialpadSearch;
@@ -311,9 +316,26 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O
        }
        }


        mFragmentsFrame = findViewById(R.id.dialtacts_frame);
        mFragmentsFrame = findViewById(R.id.dialtacts_frame);
        mFragmentsSpacer = findViewById(R.id.contact_tile_frame_spacer);


        mRemoveViewContainer = (RemoveView) findViewById(R.id.remove_view_container);
        mRemoveViewContainer = (RemoveView) findViewById(R.id.remove_view_container);
        mSearchAndRemoveViewContainer = (View) findViewById(R.id.search_and_remove_view_container);
        mSearchAndRemoveViewContainer = findViewById(R.id.search_and_remove_view_container);

        // When the first global layout pass is completed (and mSearchAndRemoveViewContainer has
        // been assigned a valid height), assign that height to mFragmentsSpacer as well.
        mSearchAndRemoveViewContainer.getViewTreeObserver().addOnGlobalLayoutListener(
                new OnGlobalLayoutListener() {
                    @Override
                    public void onGlobalLayout() {
                        mSearchAndRemoveViewContainer.getViewTreeObserver()
                                .removeOnGlobalLayoutListener(this);
                        mFragmentsSpacer.setLayoutParams(
                                new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,
                                        mSearchAndRemoveViewContainer.getHeight()));
                    }
                });


        prepareSearchView();
        prepareSearchView();


        if (UI.FILTER_CONTACTS_ACTION.equals(intent.getAction())
        if (UI.FILTER_CONTACTS_ACTION.equals(intent.getAction())
@@ -588,6 +610,7 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O


    public void hideSearchBar() {
    public void hideSearchBar() {
        final int height = mSearchAndRemoveViewContainer.getHeight();
        final int height = mSearchAndRemoveViewContainer.getHeight();

        mSearchAndRemoveViewContainer.animate().cancel();
        mSearchAndRemoveViewContainer.animate().cancel();
        mSearchAndRemoveViewContainer.setAlpha(1);
        mSearchAndRemoveViewContainer.setAlpha(1);
        mSearchAndRemoveViewContainer.setTranslationY(0);
        mSearchAndRemoveViewContainer.setTranslationY(0);
@@ -601,6 +624,10 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O
                    @Override
                    @Override
                    public void onAnimationEnd(Animator animation) {
                    public void onAnimationEnd(Animator animation) {
                        mFragmentsFrame.setTranslationY(0);
                        mFragmentsFrame.setTranslationY(0);
                        // Display the fragments spacer (which has the same height as the
                        // search box) now that the search box is hidden, so that
                        // mFragmentsFrame always retains the same height
                        mFragmentsSpacer.setVisibility(View.VISIBLE);
                    }
                    }
                });
                });
    }
    }
@@ -624,6 +651,9 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O
                        new AnimatorListenerAdapter() {
                        new AnimatorListenerAdapter() {
                            @Override
                            @Override
                            public void onAnimationStart(Animator animation) {
                            public void onAnimationStart(Animator animation) {
                                // Hide the fragment spacer now that the search box will
                                // be displayed again
                                mFragmentsSpacer.setVisibility(View.GONE);
                            }
                            }
                        });
                        });
    }
    }