diff options
author | Andrew Lee <anwlee@google.com> | 2014-09-03 23:21:08 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-09-03 23:21:08 +0000 |
commit | b2b06ee8f21e35c5e4a54e23afda61c635e0d8bd (patch) | |
tree | 972dd70fb570ea42605b35550b4e780d9a800402 | |
parent | 91111bf1edf8922f6f7a2c84d91df46e191f1da1 (diff) | |
parent | d36fa13013a66e435df223602f3975b2892f4589 (diff) |
am d36fa130: Merge "Use different FAB for dialpad, and use new animations." into lmp-dev
* commit 'd36fa13013a66e435df223602f3975b2892f4589':
Use different FAB for dialpad, and use new animations.
-rw-r--r-- | res/drawable-hdpi/fab_green.png | bin | 0 -> 2798 bytes | |||
-rw-r--r-- | res/drawable-mdpi/fab_green.png | bin | 0 -> 1845 bytes | |||
-rw-r--r-- | res/drawable-xhdpi/fab_green.png | bin | 0 -> 4092 bytes | |||
-rw-r--r-- | res/drawable-xxhdpi/fab_green.png | bin | 0 -> 7004 bytes | |||
-rw-r--r-- | res/drawable-xxxhdpi/fab_green.png | bin | 0 -> 9900 bytes | |||
-rw-r--r-- | res/drawable/floating_action_button.xml | 4 | ||||
-rw-r--r-- | res/layout-land/dialpad_fragment.xml | 98 | ||||
-rw-r--r-- | res/layout/dialpad_fragment.xml | 75 | ||||
-rw-r--r-- | res/layout/dialtacts_activity.xml | 13 | ||||
-rw-r--r-- | src/com/android/dialer/DialtactsActivity.java | 55 | ||||
-rw-r--r-- | src/com/android/dialer/dialpad/DialpadFragment.java | 66 |
11 files changed, 177 insertions, 134 deletions
diff --git a/res/drawable-hdpi/fab_green.png b/res/drawable-hdpi/fab_green.png Binary files differnew file mode 100644 index 000000000..ff9753c18 --- /dev/null +++ b/res/drawable-hdpi/fab_green.png diff --git a/res/drawable-mdpi/fab_green.png b/res/drawable-mdpi/fab_green.png Binary files differnew file mode 100644 index 000000000..947aac142 --- /dev/null +++ b/res/drawable-mdpi/fab_green.png diff --git a/res/drawable-xhdpi/fab_green.png b/res/drawable-xhdpi/fab_green.png Binary files differnew file mode 100644 index 000000000..e8bab3fec --- /dev/null +++ b/res/drawable-xhdpi/fab_green.png diff --git a/res/drawable-xxhdpi/fab_green.png b/res/drawable-xxhdpi/fab_green.png Binary files differnew file mode 100644 index 000000000..7e4fd3e49 --- /dev/null +++ b/res/drawable-xxhdpi/fab_green.png diff --git a/res/drawable-xxxhdpi/fab_green.png b/res/drawable-xxxhdpi/fab_green.png Binary files differnew file mode 100644 index 000000000..aa8849e86 --- /dev/null +++ b/res/drawable-xxxhdpi/fab_green.png diff --git a/res/drawable/floating_action_button.xml b/res/drawable/floating_action_button.xml index cbbfb8542..e5ae14a2b 100644 --- a/res/drawable/floating_action_button.xml +++ b/res/drawable/floating_action_button.xml @@ -16,6 +16,4 @@ --> <ripple xmlns:android="http://schemas.android.com/apk/res/android" - android:color="@color/floating_action_button_touch_tint"> - <item android:drawable="@drawable/fab_blue" /> -</ripple> + android:color="@color/floating_action_button_touch_tint" />
\ No newline at end of file diff --git a/res/layout-land/dialpad_fragment.xml b/res/layout-land/dialpad_fragment.xml index aac0daf3b..680c2d770 100644 --- a/res/layout-land/dialpad_fragment.xml +++ b/res/layout-land/dialpad_fragment.xml @@ -13,35 +13,75 @@ See the License for the specific language governing permissions and limitations under the License. --> -<view class="com.android.dialer.dialpad.DialpadFragment$DialpadSlidingLinearLayout" +<view class="com.android.dialer.dialpad.DialpadFragment$DialpadSlidingRelativeLayout" xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" - android:layout_height="wrap_content" - android:orientation="horizontal" - > - <!-- spacer view --> - <View - android:id="@+id/spacer" - android:layout_width="0dp" - android:layout_height="match_parent" - android:layout_weight="1" - android:background="#00000000" /> - <!-- Dialpad shadow --> - <View - android:layout_width="@dimen/shadow_length" - android:layout_height="match_parent" - android:background="@drawable/shadow_fade_left" /> - <include layout="@layout/dialpad_view" - android:layout_height="match_parent" - android:layout_width="0dp" - android:layout_weight="1" /> - <!-- "Dialpad chooser" UI, shown only when the user brings up the - Dialer while a call is already in progress. - When this UI is visible, the other Dialer elements - (the textfield/button and the dialpad) are hidden. --> - <ListView android:id="@+id/dialpadChooser" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:background="@color/background_dialer_light" - android:visibility="gone" /> + android:layout_height="wrap_content"> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="horizontal"> + + <!-- spacer view --> + <View + android:id="@+id/spacer" + android:layout_width="0dp" + android:layout_height="match_parent" + android:layout_weight="1" + android:background="#00000000" /> + + <!-- Dialpad shadow --> + <View + android:layout_width="@dimen/shadow_length" + android:layout_height="match_parent" + android:background="@drawable/shadow_fade_left" /> + + <RelativeLayout + android:layout_height="match_parent" + android:layout_width="0dp" + android:layout_weight="1"> + + <include layout="@layout/dialpad_view" + android:layout_height="match_parent" + android:layout_width="match_parent" /> + + <!-- "Dialpad chooser" UI, shown only when the user brings up the + Dialer while a call is already in progress. + When this UI is visible, the other Dialer elements + (the textfield/button and the dialpad) are hidden. --> + + <ListView android:id="@+id/dialpadChooser" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:background="@color/background_dialer_light" + android:visibility="gone" /> + + <!-- Margin bottom and alignParentBottom don't work well together, so use a Space instead. --> + <Space android:id="@+id/dialpad_floating_action_button_margin_bottom" + android:layout_width="match_parent" + android:layout_height="8dp" + android:layout_alignParentBottom="true" /> + + <FrameLayout + android:id="@+id/dialpad_floating_action_button_container" + android:background="@drawable/fab_green" + android:layout_width="@dimen/floating_action_button_width" + android:layout_height="@dimen/floating_action_button_height" + android:layout_above="@id/dialpad_floating_action_button_margin_bottom" + android:layout_centerHorizontal="true"> + + <ImageButton + android:id="@+id/dialpad_floating_action_button" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:background="@drawable/floating_action_button" + android:contentDescription="@string/description_dial_button" + android:src="@drawable/fab_ic_call"/> + + </FrameLayout> + + </RelativeLayout> + + </LinearLayout> </view> diff --git a/res/layout/dialpad_fragment.xml b/res/layout/dialpad_fragment.xml index 01bbecc00..21cb58654 100644 --- a/res/layout/dialpad_fragment.xml +++ b/res/layout/dialpad_fragment.xml @@ -13,31 +13,64 @@ See the License for the specific language governing permissions and limitations under the License. --> -<view class="com.android.dialer.dialpad.DialpadFragment$DialpadSlidingLinearLayout" +<view class="com.android.dialer.dialpad.DialpadFragment$DialpadSlidingRelativeLayout" xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" - android:orientation="vertical" > - <!-- spacer view --> - <View - android:id="@+id/spacer" + android:orientation="horizontal"> + + <LinearLayout android:layout_width="match_parent" - android:layout_height="0dp" - android:layout_weight="1" - android:background="#00000000" /> - <!-- Dialpad shadow --> - <View + android:layout_height="wrap_content" + android:orientation="vertical"> + + <!-- spacer view --> + <View + android:id="@+id/spacer" + android:layout_width="match_parent" + android:layout_height="0dp" + android:layout_weight="1" + android:background="#00000000" /> + <!-- Dialpad shadow --> + <View + android:layout_width="match_parent" + android:layout_height="@dimen/shadow_length" + android:background="@drawable/shadow_fade_up" /> + <include layout="@layout/dialpad_view" /> + <!-- "Dialpad chooser" UI, shown only when the user brings up the + Dialer while a call is already in progress. + When this UI is visible, the other Dialer elements + (the textfield/button and the dialpad) are hidden. --> + <ListView android:id="@+id/dialpadChooser" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:background="@color/background_dialer_light" + android:visibility="gone" /> + + </LinearLayout> + + <!-- Margin bottom and alignParentBottom don't work well together, so use a Space instead. --> + <Space android:id="@+id/dialpad_floating_action_button_margin_bottom" android:layout_width="match_parent" - android:layout_height="@dimen/shadow_length" - android:background="@drawable/shadow_fade_up" /> - <include layout="@layout/dialpad_view" /> - <!-- "Dialpad chooser" UI, shown only when the user brings up the - Dialer while a call is already in progress. - When this UI is visible, the other Dialer elements - (the textfield/button and the dialpad) are hidden. --> - <ListView android:id="@+id/dialpadChooser" + android:layout_height="@dimen/floating_action_button_margin_bottom" + android:layout_alignParentBottom="true" /> + + <FrameLayout + android:id="@+id/dialpad_floating_action_button_container" + android:background="@drawable/fab_green" + android:layout_width="@dimen/floating_action_button_width" + android:layout_height="@dimen/floating_action_button_height" + android:layout_above="@id/dialpad_floating_action_button_margin_bottom" + android:layout_centerHorizontal="true"> + + <ImageButton + android:id="@+id/dialpad_floating_action_button" android:layout_width="match_parent" - android:layout_height="wrap_content" - android:background="@color/background_dialer_light" - android:visibility="gone" /> + android:layout_height="match_parent" + android:background="@drawable/floating_action_button" + android:contentDescription="@string/description_dial_button" + android:src="@drawable/fab_ic_call"/> + + </FrameLayout> + </view> diff --git a/res/layout/dialtacts_activity.xml b/res/layout/dialtacts_activity.xml index aa4ce9409..0f1f2bbdb 100644 --- a/res/layout/dialtacts_activity.xml +++ b/res/layout/dialtacts_activity.xml @@ -22,9 +22,8 @@ android:focusable="true" android:focusableInTouchMode="true" android:clipChildren="false" - android:animateLayoutChanges="true" - android:background="@color/background_dialer_light" - > + android:background="@color/background_dialer_light"> + <FrameLayout android:id="@+id/dialtacts_container" android:layout_width="match_parent" @@ -37,22 +36,25 @@ android:id="@+id/dialtacts_frame" android:clipChildren="false" /> </FrameLayout> + <FrameLayout android:id="@+id/floating_action_button_container" + android:background="@drawable/fab_blue" android:layout_width="@dimen/floating_action_button_width" android:layout_height="@dimen/floating_action_button_height" android:layout_marginBottom="@dimen/floating_action_button_margin_bottom" - android:layout_gravity="center_horizontal|bottom" > + android:layout_gravity="center_horizontal|bottom"> <ImageButton android:id="@+id/floating_action_button" + android:background="@drawable/floating_action_button" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@drawable/floating_action_button" android:contentDescription="@string/action_menu_dialpad_button" android:src="@drawable/fab_ic_dial"/> </FrameLayout> + <!-- Host container for the contact tile drag shadow --> <FrameLayout android:id="@+id/activity_overlay" @@ -65,4 +67,5 @@ android:visibility="gone" android:importantForAccessibility="no" /> </FrameLayout> + </FrameLayout> diff --git a/src/com/android/dialer/DialtactsActivity.java b/src/com/android/dialer/DialtactsActivity.java index 6991be6f9..035ec8b38 100644 --- a/src/com/android/dialer/DialtactsActivity.java +++ b/src/com/android/dialer/DialtactsActivity.java @@ -16,9 +16,7 @@ package com.android.dialer; -import android.animation.LayoutTransition; import android.app.ActionBar; -import android.app.Activity; import android.app.Fragment; import android.app.FragmentTransaction; import android.content.ActivityNotFoundException; @@ -30,7 +28,6 @@ import android.content.res.Configuration; import android.content.res.Resources; import android.net.Uri; import android.os.Bundle; -import android.os.RemoteException; import android.provider.ContactsContract.Contacts; import android.provider.ContactsContract.Intents; import android.speech.RecognizerIntent; @@ -53,7 +50,6 @@ import android.view.View.OnTouchListener; import android.view.ViewTreeObserver; import android.view.animation.Animation; import android.view.animation.AnimationUtils; -import android.view.inputmethod.InputMethodManager; import android.widget.AbsListView.OnScrollListener; import android.widget.EditText; import android.widget.FrameLayout; @@ -103,7 +99,6 @@ import java.util.Locale; public class DialtactsActivity extends TransactionSafeActivity implements View.OnClickListener, DialpadFragment.OnDialpadQueryChangedListener, OnListFragmentScrolledListener, - DialpadFragment.HostInterface, ListsFragment.HostInterface, SpeedDialFragment.HostInterface, SearchFragment.HostInterface, @@ -224,9 +219,6 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O private DragDropController mDragDropController; private ActionBarController mActionBarController; - private String mDescriptionDialButtonStr; - private String mActionMenuDialpadButtonStr; - private ImageButton mFloatingActionButton; private FloatingActionButtonController mFloatingActionButtonController; private int mActionBarHeight; @@ -351,8 +343,6 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O final Resources resources = getResources(); mActionBarHeight = resources.getDimensionPixelSize(R.dimen.action_bar_height_large); - mDescriptionDialButtonStr = resources.getString(R.string.description_dial_button); - mActionMenuDialpadButtonStr = resources.getString(R.string.action_menu_dialpad_button); setContentView(R.layout.dialtacts_activity); getWindow().setBackgroundDrawable(null); @@ -389,12 +379,10 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O final View floatingActionButtonContainer = findViewById( R.id.floating_action_button_container); - mFloatingActionButton = (ImageButton) findViewById(R.id.floating_action_button); - int floatingActionButtonWidth = resources.getDimensionPixelSize( - R.dimen.floating_action_button_width); - mFloatingActionButton.setOnClickListener(this); + ImageButton floatingActionButton = (ImageButton) findViewById(R.id.floating_action_button); + floatingActionButton.setOnClickListener(this); mFloatingActionButtonController = new FloatingActionButtonController(this, - floatingActionButtonContainer, mFloatingActionButton); + floatingActionButtonContainer, floatingActionButton); ImageButton optionsMenuButton = (ImageButton) searchEditTextLayout.findViewById(R.id.dialtacts_options_menu_button); @@ -435,14 +423,13 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O mSlideOut.setAnimationListener(mSlideOutListener); parentLayout = (FrameLayout) findViewById(R.id.dialtacts_mainlayout); - parentLayout.getLayoutTransition().enableTransitionType(LayoutTransition.CHANGING); parentLayout.setOnDragListener(new LayoutOnDragListener()); floatingActionButtonContainer.getViewTreeObserver().addOnGlobalLayoutListener( new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { - final ViewTreeObserver observer = floatingActionButtonContainer - .getViewTreeObserver(); + final ViewTreeObserver observer = + floatingActionButtonContainer.getViewTreeObserver(); if (!observer.isAlive()) { return; } @@ -543,9 +530,6 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O if (!mIsDialpadShown) { mInCallDialpadUp = false; showDialpadFragment(true); - } else { - // Dial button was pressed; tell the Dialpad fragment - mDialpadFragment.dialButtonPressed(); } break; case R.id.voice_search_button: @@ -637,6 +621,7 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O ft.show(mDialpadFragment); ft.commit(); + mFloatingActionButtonController.scaleOut(); mActionBarController.onDialpadUp(); if (!isInSearchUi()) { @@ -648,9 +633,6 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O * Callback from child DialpadFragment when the dialpad is shown. */ public void onDialpadShown() { - mFloatingActionButton.setImageResource(R.drawable.fab_ic_call); - mFloatingActionButton.setContentDescription(mDescriptionDialButtonStr); - updateFloatingActionButtonControllerAlignment(mDialpadFragment.getAnimate()); if (mDialpadFragment.getAnimate()) { mDialpadFragment.getView().startAnimation(mSlideIn); } else { @@ -679,8 +661,6 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O mDialpadFragment.setAnimate(animate); updateSearchFragmentPosition(); - mFloatingActionButton.setImageResource(R.drawable.fab_ic_dial); - mFloatingActionButton.setContentDescription(mActionMenuDialpadButtonStr); updateFloatingActionButtonControllerAlignment(animate); if (animate) { @@ -705,6 +685,8 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O final FragmentTransaction ft = getFragmentManager().beginTransaction(); ft.hide(mDialpadFragment); ft.commit(); + + mFloatingActionButtonController.scaleIn(AnimUtils.NO_DELAY); } private void updateSearchFragmentPosition() { @@ -1008,11 +990,6 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O // interactions with the ListsFragments. } - @Override - public void setFloatingActionButtonVisible(boolean visible) { - mFloatingActionButtonController.setVisible(visible); - } - private boolean phoneIsInUse() { return getTelecommManager().isInCall(); } @@ -1180,19 +1157,9 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O * @param animate Whether or not to animate the transition. */ private void updateFloatingActionButtonControllerAlignment(boolean animate) { - int align; - if (mIsDialpadShown) { - align = mIsLandscape ? FloatingActionButtonController.ALIGN_QUARTER_END - : FloatingActionButtonController.ALIGN_MIDDLE; - } else { - if (!mIsLandscape) { - align = mCurrentTabPosition == ListsFragment.TAB_INDEX_SPEED_DIAL - ? FloatingActionButtonController.ALIGN_MIDDLE - : FloatingActionButtonController.ALIGN_END; - } else { - align = FloatingActionButtonController.ALIGN_END; - } - } + int align = (!mIsLandscape && mCurrentTabPosition == ListsFragment.TAB_INDEX_SPEED_DIAL) ? + FloatingActionButtonController.ALIGN_MIDDLE : + FloatingActionButtonController.ALIGN_END; mFloatingActionButtonController.align(align, 0 /* offsetX */, 0 /* offsetY */, animate); } } diff --git a/src/com/android/dialer/dialpad/DialpadFragment.java b/src/com/android/dialer/dialpad/DialpadFragment.java index 909679191..7e9cc8913 100644 --- a/src/com/android/dialer/dialpad/DialpadFragment.java +++ b/src/com/android/dialer/dialpad/DialpadFragment.java @@ -58,16 +58,19 @@ import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.BaseAdapter; import android.widget.EditText; +import android.widget.ImageButton; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.PopupMenu; +import android.widget.RelativeLayout; import android.widget.TextView; import com.android.contacts.common.CallUtil; import com.android.contacts.common.GeoUtil; import com.android.contacts.common.util.PhoneNumberFormatter; import com.android.contacts.common.util.StopWatch; +import com.android.contacts.common.widget.FloatingActionButtonController; import com.android.dialer.DialtactsActivity; import com.android.dialer.NeededForReflection; import com.android.dialer.R; @@ -96,34 +99,20 @@ public class DialpadFragment extends AnalyticsFragment private static final String TAG = DialpadFragment.class.getSimpleName(); /** - * This interface allows the DialpadFragment to tell its hosting Activity when and when not - * to display the "dial" button. While this is logically part of the DialpadFragment, the - * need to have a particular kind of slick animation puts the "dial" button in the parent. - * - * The parent calls dialButtonPressed() and optionsMenuInvoked() on the dialpad fragment - * when appropriate. - * - * TODO: Refactor the app so this interchange is a bit cleaner. - */ - public interface HostInterface { - void setFloatingActionButtonVisible(boolean visible); - } - - /** * LinearLayout with getter and setter methods for the translationY property using floats, * for animation purposes. */ - public static class DialpadSlidingLinearLayout extends LinearLayout { + public static class DialpadSlidingRelativeLayout extends RelativeLayout { - public DialpadSlidingLinearLayout(Context context) { + public DialpadSlidingRelativeLayout(Context context) { super(context); } - public DialpadSlidingLinearLayout(Context context, AttributeSet attrs) { + public DialpadSlidingRelativeLayout(Context context, AttributeSet attrs) { super(context, attrs); } - public DialpadSlidingLinearLayout(Context context, AttributeSet attrs, int defStyle) { + public DialpadSlidingRelativeLayout(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @@ -167,6 +156,7 @@ public class DialpadFragment extends AnalyticsFragment private DialpadView mDialpadView; private EditText mDigits; + private int mDialpadSlideInDuration; /** Remembers if we need to clear digits field when the screen is completely gone. */ private boolean mClearDigitsOnStop; @@ -178,6 +168,8 @@ public class DialpadFragment extends AnalyticsFragment private final Object mToneGeneratorLock = new Object(); private View mSpacer; + private FloatingActionButtonController mFloatingActionButtonController; + /** * Set of dialpad keys that are currently being pressed */ @@ -337,6 +329,8 @@ public class DialpadFragment extends AnalyticsFragment if (state != null) { mDigitsFilledByIntent = state.getBoolean(PREF_DIGITS_FILLED_BY_INTENT); } + + mDialpadSlideInDuration = getResources().getInteger(R.integer.dialpad_slide_in_duration); } @Override @@ -388,6 +382,14 @@ public class DialpadFragment extends AnalyticsFragment mDialpadChooser = (ListView) fragmentView.findViewById(R.id.dialpadChooser); mDialpadChooser.setOnItemClickListener(this); + final View floatingActionButtonContainer = + fragmentView.findViewById(R.id.dialpad_floating_action_button_container); + final View floatingActionButton = + (ImageButton) fragmentView.findViewById(R.id.dialpad_floating_action_button); + floatingActionButton.setOnClickListener(this); + mFloatingActionButtonController = new FloatingActionButtonController(getActivity(), + floatingActionButtonContainer, floatingActionButton); + return fragmentView; } @@ -870,27 +872,22 @@ public class DialpadFragment extends AnalyticsFragment return popupMenu; } - /** - * Called by the containing Activity to tell this Fragment that the dial button has been - * pressed. - */ - public void dialButtonPressed() { - mHaptic.vibrate(); - handleDialButtonPressed(); - } - @Override public void onClick(View view) { switch (view.getId()) { + case R.id.dialpad_floating_action_button: + mHaptic.vibrate(); + handleDialButtonPressed(); + break; case R.id.deleteButton: { keyPressed(KeyEvent.KEYCODE_DEL); - return; + break; } case R.id.digits: { if (!isDigitsEmpty()) { mDigits.setCursorVisible(true); } - return; + break; } case R.id.dialpad_overflow: { mOverflowPopupMenu.show(); @@ -1217,8 +1214,8 @@ public class DialpadFragment extends AnalyticsFragment if (mDialpadView != null) { mDialpadView.setVisibility(View.GONE); } - ((HostInterface) getActivity()).setFloatingActionButtonVisible(false); + mFloatingActionButtonController.setVisible(false); mDialpadChooser.setVisibility(View.VISIBLE); // Instantiate the DialpadChooserAdapter and hook it up to the @@ -1234,7 +1231,8 @@ public class DialpadFragment extends AnalyticsFragment } else { mDigits.setVisibility(View.VISIBLE); } - ((HostInterface) getActivity()).setFloatingActionButtonVisible(true); + + mFloatingActionButtonController.setVisible(true); mDialpadChooser.setVisibility(View.GONE); } } @@ -1608,10 +1606,14 @@ public class DialpadFragment extends AnalyticsFragment if (!hidden) { if (mAnimate) { dialpadView.animateShow(); + mFloatingActionButtonController.scaleIn(mDialpadSlideInDuration); } activity.onDialpadShown(); mDigits.requestFocus(); } + if (hidden && mAnimate) { + mFloatingActionButtonController.scaleOut(); + } } public void setAnimate(boolean value) { @@ -1623,6 +1625,6 @@ public class DialpadFragment extends AnalyticsFragment } public void setYFraction(float yFraction) { - ((DialpadSlidingLinearLayout) getView()).setYFraction(yFraction); + ((DialpadSlidingRelativeLayout) getView()).setYFraction(yFraction); } } |