Remove FloatingActionButtonBehavior

This depends on an internal support library class that is being changed.

Test
manual: deleted a group and verified that FAB does not overlap snackbar

Change-Id: Id4b0fb858624c598353b6ed6dacc8cc8a84309cd
diff --git a/res/layout/floating_action_button.xml b/res/layout/floating_action_button.xml
index 2dc8955..91afecd 100644
--- a/res/layout/floating_action_button.xml
+++ b/res/layout/floating_action_button.xml
@@ -17,6 +17,7 @@
 <!-- This expects to be included inside a RelativeLayout or a CoordinatorLayout -->
 <FrameLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
     android:id="@+id/floating_action_button_container"
     android:layout_width="@dimen/floating_action_button_width"
     android:layout_height="@dimen/floating_action_button_height"
@@ -26,7 +27,8 @@
     android:layout_marginBottom="@dimen/floating_action_button_margin_bottom"
     android:layout_marginEnd="@dimen/floating_action_button_margin_right"
     android:background="@drawable/fab_blue"
-    android:elevation="@dimen/design_fab_elevation">
+    android:elevation="@dimen/design_fab_elevation"
+    app:layout_dodgeInsetEdges="bottom" >
 
     <ImageButton
         android:id="@+id/floating_action_button"
diff --git a/src/com/android/contacts/activities/PeopleActivity.java b/src/com/android/contacts/activities/PeopleActivity.java
index df3f65d..8d0ec08 100644
--- a/src/com/android/contacts/activities/PeopleActivity.java
+++ b/src/com/android/contacts/activities/PeopleActivity.java
@@ -38,14 +38,12 @@
 import android.support.v4.view.GravityCompat;
 import android.support.v4.widget.SwipeRefreshLayout;
 import android.util.Log;
-import android.view.Gravity;
 import android.view.KeyCharacterMap;
 import android.view.KeyEvent;
 import android.view.Menu;
 import android.view.MenuItem;
 import android.view.SubMenu;
 import android.view.View;
-import android.view.ViewGroup;
 import android.widget.ImageButton;
 import android.widget.Toast;
 
@@ -76,7 +74,6 @@
 import com.android.contactsbind.FeatureHighlightHelper;
 import com.android.contactsbind.ObjectFactory;
 import com.android.contactsbind.experiments.Flags;
-import com.android.contacts.widget.FloatingActionButtonBehavior;
 
 import java.util.List;
 import java.util.concurrent.atomic.AtomicInteger;
@@ -385,15 +382,6 @@
 
         mLayoutRoot = (CoordinatorLayout) findViewById(R.id.root);
 
-        // Setup the FAB to animate upwards when a snackbar is shown in this activity.
-        // Normally the layout_behavior attribute could be used for this but for some reason it
-        // throws a ClassNotFoundException so  the layout parameters are set programmatically.
-        final CoordinatorLayout.LayoutParams fabParams = new CoordinatorLayout.LayoutParams(
-                (ViewGroup.MarginLayoutParams) mFloatingActionButtonContainer.getLayoutParams());
-        fabParams.setBehavior(new FloatingActionButtonBehavior());
-        fabParams.gravity = Gravity.BOTTOM | Gravity.END;
-        mFloatingActionButtonContainer.setLayoutParams(fabParams);
-
         if (mShouldSwitchToGroupView && !mIsRecreatedInstance) {
             mGroupUri = mRequest.getContactUri();
             switchToOrUpdateGroupView(GroupUtil.ACTION_SWITCH_GROUP);
diff --git a/src/com/android/contacts/widget/FloatingActionButtonBehavior.java b/src/com/android/contacts/widget/FloatingActionButtonBehavior.java
deleted file mode 100644
index 44ca81e..0000000
--- a/src/com/android/contacts/widget/FloatingActionButtonBehavior.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (C) 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.contacts.widget;
-
-import android.content.Context;
-import android.support.design.widget.CoordinatorLayout;
-import android.support.design.widget.Snackbar.SnackbarLayout;
-import android.util.AttributeSet;
-import android.view.View;
-import android.widget.FrameLayout;
-
-/**
- * Implements custom behavior for the movement of the FAB in response to the Snackbar.
- * Because we are not using the design framework FloatingActionButton widget, we need to manually
- * implement the Material Design behavior of having the FAB translate upward and downward with
- * the appearance and disappearance of a Snackbar.
- */
-public class FloatingActionButtonBehavior extends CoordinatorLayout.Behavior<FrameLayout> {
-
-    public FloatingActionButtonBehavior() {
-    }
-
-    public FloatingActionButtonBehavior(Context context, AttributeSet attrs) {
-        super(context, attrs);
-    }
-
-    @Override
-    public boolean layoutDependsOn(CoordinatorLayout parent, FrameLayout child, View dependency) {
-        return dependency instanceof SnackbarLayout;
-    }
-
-    @Override
-    public boolean onDependentViewChanged(CoordinatorLayout parent, FrameLayout child,
-            View dependency) {
-        float translationY = Math.min(0, dependency.getTranslationY() - dependency.getHeight());
-        child.setTranslationY(translationY);
-        return true;
-    }
-}