Loading res/layout/dialtacts_activity.xml +6 −0 Original line number Original line Diff line number Diff line Loading @@ -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> Loading res/layout/phone_favorites_fragment.xml +0 −1 Original line number Original line Diff line number Diff line Loading @@ -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> res/layout/phone_no_favorites.xml +4 −10 Original line number Original line Diff line number Diff line Loading @@ -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 Loading @@ -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" Loading src/com/android/dialer/DialtactsActivity.java +32 −2 Original line number Original line Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading Loading @@ -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()) Loading Loading @@ -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); Loading @@ -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); } } }); }); } } Loading @@ -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); } } }); }); } } Loading Loading
res/layout/dialtacts_activity.xml +6 −0 Original line number Original line Diff line number Diff line Loading @@ -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> Loading
res/layout/phone_favorites_fragment.xml +0 −1 Original line number Original line Diff line number Diff line Loading @@ -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>
res/layout/phone_no_favorites.xml +4 −10 Original line number Original line Diff line number Diff line Loading @@ -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 Loading @@ -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" Loading
src/com/android/dialer/DialtactsActivity.java +32 −2 Original line number Original line Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading Loading @@ -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()) Loading Loading @@ -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); Loading @@ -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); } } }); }); } } Loading @@ -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); } } }); }); } } Loading