Final pass for removing all donut/eclair/froyo references

Also clean up code blocks that were conditional on pre-v9
build version.

Change-Id: I9c87496446d842cbd176adb44635205206e7bb3d
diff --git a/compat/gingerbread/android/support/v4/animation/GingerbreadAnimatorCompatProvider.java b/compat/gingerbread/android/support/v4/animation/GingerbreadAnimatorCompatProvider.java
index af35583..8c6d097 100644
--- a/compat/gingerbread/android/support/v4/animation/GingerbreadAnimatorCompatProvider.java
+++ b/compat/gingerbread/android/support/v4/animation/GingerbreadAnimatorCompatProvider.java
@@ -32,10 +32,10 @@
 
     @Override
     public ValueAnimatorCompat emptyValueAnimator() {
-        return new DonutFloatValueAnimator();
+        return new GingerbreadFloatValueAnimator();
     }
 
-    private static class DonutFloatValueAnimator implements ValueAnimatorCompat {
+    private static class GingerbreadFloatValueAnimator implements ValueAnimatorCompat {
 
         List<AnimatorListenerCompat> mListeners = new ArrayList<AnimatorListenerCompat>();
         List<AnimatorUpdateListenerCompat> mUpdateListeners
@@ -48,7 +48,7 @@
         private boolean mStarted = false;
         private boolean mEnded = false;
 
-        public DonutFloatValueAnimator() {
+        public GingerbreadFloatValueAnimator() {
         }
 
         private Runnable mLoopRunnable = new Runnable() {
diff --git a/compat/gingerbread/android/support/v4/graphics/drawable/DrawableWrapperGingerbread.java b/compat/gingerbread/android/support/v4/graphics/drawable/DrawableWrapperGingerbread.java
index 255cf85..f420ca2 100644
--- a/compat/gingerbread/android/support/v4/graphics/drawable/DrawableWrapperGingerbread.java
+++ b/compat/gingerbread/android/support/v4/graphics/drawable/DrawableWrapperGingerbread.java
@@ -331,7 +331,7 @@
     }
 
     protected boolean isCompatTintEnabled() {
-        // It's enabled by default on Donut
+        // It's enabled by default on Gingerbread
         return true;
     }
 
diff --git a/compat/gingerbread/android/support/v4/view/animation/PathInterpolatorCompatBase.java b/compat/gingerbread/android/support/v4/view/animation/PathInterpolatorCompatBase.java
index 9bd4c94d..9857632 100644
--- a/compat/gingerbread/android/support/v4/view/animation/PathInterpolatorCompatBase.java
+++ b/compat/gingerbread/android/support/v4/view/animation/PathInterpolatorCompatBase.java
@@ -29,15 +29,15 @@
     }
 
     public static Interpolator create(Path path) {
-        return new PathInterpolatorDonut(path);
+        return new PathInterpolatorGingerbread(path);
     }
 
     public static Interpolator create(float controlX, float controlY) {
-        return new PathInterpolatorDonut(controlX, controlY);
+        return new PathInterpolatorGingerbread(controlX, controlY);
     }
 
     public static Interpolator create(float controlX1, float controlY1,
             float controlX2, float controlY2) {
-        return new PathInterpolatorDonut(controlX1, controlY1, controlX2, controlY2);
+        return new PathInterpolatorGingerbread(controlX1, controlY1, controlX2, controlY2);
     }
 }
diff --git a/compat/gingerbread/android/support/v4/view/animation/PathInterpolatorDonut.java b/compat/gingerbread/android/support/v4/view/animation/PathInterpolatorGingerbread.java
similarity index 90%
rename from compat/gingerbread/android/support/v4/view/animation/PathInterpolatorDonut.java
rename to compat/gingerbread/android/support/v4/view/animation/PathInterpolatorGingerbread.java
index 1240e1f..b95fc04 100644
--- a/compat/gingerbread/android/support/v4/view/animation/PathInterpolatorDonut.java
+++ b/compat/gingerbread/android/support/v4/view/animation/PathInterpolatorGingerbread.java
@@ -21,9 +21,9 @@
 import android.view.animation.Interpolator;
 
 /**
- * A path interpolator implementation compatible with API 4+.
+ * A path interpolator implementation compatible with API 9+.
  */
-class PathInterpolatorDonut implements Interpolator {
+class PathInterpolatorGingerbread implements Interpolator {
 
     /**
      * Governs the accuracy of the approximation of the {@link Path}.
@@ -33,7 +33,7 @@
     private final float[] mX;
     private final float[] mY;
 
-    public PathInterpolatorDonut(Path path) {
+    public PathInterpolatorGingerbread(Path path) {
         final PathMeasure pathMeasure = new PathMeasure(path, false /* forceClosed */);
 
         final float pathLength = pathMeasure.getLength();
@@ -52,11 +52,11 @@
         }
     }
 
-    public PathInterpolatorDonut(float controlX, float controlY) {
+    public PathInterpolatorGingerbread(float controlX, float controlY) {
         this(createQuad(controlX, controlY));
     }
 
-    public PathInterpolatorDonut(float controlX1, float controlY1,
+    public PathInterpolatorGingerbread(float controlX1, float controlY1,
             float controlX2, float controlY2) {
         this(createCubic(controlX1, controlY1, controlX2, controlY2));
     }
diff --git a/compat/gingerbread/android/support/v4/widget/ListViewCompatDonut.java b/compat/gingerbread/android/support/v4/widget/ListViewCompatGingerbread.java
similarity index 96%
rename from compat/gingerbread/android/support/v4/widget/ListViewCompatDonut.java
rename to compat/gingerbread/android/support/v4/widget/ListViewCompatGingerbread.java
index 4e9aede..14d27b0 100644
--- a/compat/gingerbread/android/support/v4/widget/ListViewCompatDonut.java
+++ b/compat/gingerbread/android/support/v4/widget/ListViewCompatGingerbread.java
@@ -20,7 +20,7 @@
 import android.widget.AbsListView;
 import android.widget.ListView;
 
-class ListViewCompatDonut {
+class ListViewCompatGingerbread {
     static void scrollListBy(final ListView listView, int y) {
         final int firstPosition = listView.getFirstVisiblePosition();
         if (firstPosition == ListView.INVALID_POSITION) {
diff --git a/compat/java/android/support/v4/content/res/ConfigurationHelper.java b/compat/java/android/support/v4/content/res/ConfigurationHelper.java
index 5840458..ebf6df5 100644
--- a/compat/java/android/support/v4/content/res/ConfigurationHelper.java
+++ b/compat/java/android/support/v4/content/res/ConfigurationHelper.java
@@ -35,7 +35,7 @@
         } else if (sdk >= 13) {
             IMPL = new HoneycombMr2Impl();
         } else {
-            IMPL = new DonutImpl();
+            IMPL = new GingerbreadImpl();
         }
     }
 
@@ -48,7 +48,7 @@
         int getDensityDpi(@NonNull Resources resources);
     }
 
-    private static class DonutImpl implements ConfigurationHelperImpl {
+    private static class GingerbreadImpl implements ConfigurationHelperImpl {
         @Override
         public int getScreenHeightDp(@NonNull Resources resources) {
             return ConfigurationHelperGingerbread.getScreenHeightDp(resources);
@@ -70,7 +70,7 @@
         }
     }
 
-    private static class HoneycombMr2Impl extends DonutImpl {
+    private static class HoneycombMr2Impl extends GingerbreadImpl {
         @Override
         public int getScreenHeightDp(@NonNull Resources resources) {
             return ConfigurationHelperHoneycombMr2.getScreenHeightDp(resources);
diff --git a/compat/java/android/support/v4/widget/ListViewCompat.java b/compat/java/android/support/v4/widget/ListViewCompat.java
index 811315c..6e98540 100644
--- a/compat/java/android/support/v4/widget/ListViewCompat.java
+++ b/compat/java/android/support/v4/widget/ListViewCompat.java
@@ -36,7 +36,7 @@
         if (Build.VERSION.SDK_INT >= 19) {
             ListViewCompatKitKat.scrollListBy(listView, y);
         } else {
-            ListViewCompatDonut.scrollListBy(listView, y);
+            ListViewCompatGingerbread.scrollListBy(listView, y);
         }
     }
 
diff --git a/compat/java/android/support/v4/widget/ScrollerCompat.java b/compat/java/android/support/v4/widget/ScrollerCompat.java
index 3c33faa..4c8f80b 100644
--- a/compat/java/android/support/v4/widget/ScrollerCompat.java
+++ b/compat/java/android/support/v4/widget/ScrollerCompat.java
@@ -31,25 +31,21 @@
  * the APIs from Scroller or OverScroller.</p>
  */
 public final class ScrollerCompat {
-    private static final String TAG = "ScrollerCompat";
-
     OverScroller mScroller;
 
-    static final int CHASE_FRAME_TIME = 16; // ms per target frame
-
     public static ScrollerCompat create(Context context) {
         return create(context, null);
     }
 
     public static ScrollerCompat create(Context context, Interpolator interpolator) {
-        return new ScrollerCompat(Build.VERSION.SDK_INT, context, interpolator);
+        return new ScrollerCompat(context, interpolator);
     }
 
     /**
      * Private constructer where API version can be provided.
      * Useful for unit testing.
      */
-    private ScrollerCompat(int apiVersion, Context context, Interpolator interpolator) {
+    private ScrollerCompat(Context context, Interpolator interpolator) {
         mScroller = interpolator != null ?
                 new OverScroller(context, interpolator) : new OverScroller(context);
     }
diff --git a/compat/java/android/support/v4/widget/TextViewCompat.java b/compat/java/android/support/v4/widget/TextViewCompat.java
index 510dde1..3239587 100644
--- a/compat/java/android/support/v4/widget/TextViewCompat.java
+++ b/compat/java/android/support/v4/widget/TextViewCompat.java
@@ -19,7 +19,6 @@
 import android.graphics.drawable.Drawable;
 import android.os.Build;
 import android.support.annotation.DrawableRes;
-import android.support.annotation.IdRes;
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
 import android.support.annotation.StyleRes;
@@ -73,17 +72,17 @@
 
         @Override
         public int getMaxLines(TextView textView) {
-            return TextViewCompatDonut.getMaxLines(textView);
+            return TextViewCompatGingerbread.getMaxLines(textView);
         }
 
         @Override
         public int getMinLines(TextView textView) {
-            return TextViewCompatDonut.getMinLines(textView);
+            return TextViewCompatGingerbread.getMinLines(textView);
         }
 
         @Override
         public void setTextAppearance(TextView textView, @StyleRes int resId) {
-            TextViewCompatDonut.setTextAppearance(textView, resId);
+            TextViewCompatGingerbread.setTextAppearance(textView, resId);
         }
     }
 
diff --git a/compat/java/android/support/v4/widget/TextViewCompatDonut.java b/compat/java/android/support/v4/widget/TextViewCompatGingerbread.java
similarity index 96%
rename from compat/java/android/support/v4/widget/TextViewCompatDonut.java
rename to compat/java/android/support/v4/widget/TextViewCompatGingerbread.java
index ba155fe..65056f5 100644
--- a/compat/java/android/support/v4/widget/TextViewCompatDonut.java
+++ b/compat/java/android/support/v4/widget/TextViewCompatGingerbread.java
@@ -21,9 +21,9 @@
 
 import java.lang.reflect.Field;
 
-class TextViewCompatDonut {
+class TextViewCompatGingerbread {
 
-    private static final String LOG_TAG = "TextViewCompatDonut";
+    private static final String LOG_TAG = "TextViewCompatGingerbread";
     private static final int LINES = 1;
 
     private static Field sMaximumField;
diff --git a/compat/tests/java/android/support/v4/widget/DonutScrollerCompatTest.java b/compat/tests/java/android/support/v4/widget/DonutScrollerCompatTest.java
deleted file mode 100644
index db4a497..0000000
--- a/compat/tests/java/android/support/v4/widget/DonutScrollerCompatTest.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright (C) 2014 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 android.support.v4.widget;
-
-public class DonutScrollerCompatTest extends ScrollerCompatTestBase {
-    public DonutScrollerCompatTest() {
-        super(4);
-    }
-}
diff --git a/design/src/android/support/design/widget/DrawableUtils.java b/design/src/android/support/design/widget/DrawableUtils.java
index 1c46e6b2..1e2e6cf5 100644
--- a/design/src/android/support/design/widget/DrawableUtils.java
+++ b/design/src/android/support/design/widget/DrawableUtils.java
@@ -34,20 +34,12 @@
     private static Method sSetConstantStateMethod;
     private static boolean sSetConstantStateMethodFetched;
 
-    private static Field sDrawableContainerStateField;
-    private static boolean sDrawableContainerStateFieldFetched;
-
     private DrawableUtils() {}
 
     static boolean setContainerConstantState(DrawableContainer drawable,
             Drawable.ConstantState constantState) {
-        if (Build.VERSION.SDK_INT >= 9) {
-            // We can use getDeclaredMethod() on v9+
-            return setContainerConstantStateV9(drawable, constantState);
-        } else {
-            // Else we'll just have to set the field directly
-            return setContainerConstantStateV7(drawable, constantState);
-        }
+        // We can use getDeclaredMethod() on v9+
+        return setContainerConstantStateV9(drawable, constantState);
     }
 
     private static boolean setContainerConstantStateV9(DrawableContainer drawable,
@@ -72,28 +64,4 @@
         }
         return false;
     }
-
-    private static boolean setContainerConstantStateV7(DrawableContainer drawable,
-            Drawable.ConstantState constantState) {
-        if (!sDrawableContainerStateFieldFetched) {
-            try {
-                sDrawableContainerStateField = DrawableContainer.class
-                        .getDeclaredField("mDrawableContainerStateField");
-                sDrawableContainerStateField.setAccessible(true);
-            } catch (NoSuchFieldException e) {
-                Log.e(LOG_TAG, "Could not fetch mDrawableContainerStateField. Oh well.");
-            }
-            sDrawableContainerStateFieldFetched = true;
-        }
-        if (sDrawableContainerStateField != null) {
-            try {
-                sDrawableContainerStateField.set(drawable, constantState);
-                return true;
-            } catch (Exception e) {
-                Log.e(LOG_TAG, "Could not set mDrawableContainerStateField. Oh well.");
-            }
-        }
-        return false;
-    }
-
 }
diff --git a/v4/Android.mk b/v4/Android.mk
index 44c1a30..5d56e62 100644
--- a/v4/Android.mk
+++ b/v4/Android.mk
@@ -14,7 +14,7 @@
 
 LOCAL_PATH := $(call my-dir)
 
-# A helper sub-library that makes direct use of Donut APIs.
+# A helper sub-library that makes direct use of Gingerbread APIs.
 include $(CLEAR_VARS)
 LOCAL_MODULE := android-support-v4-gingerbread
 LOCAL_SDK_VERSION := 9
diff --git a/v7/appcompat/src/android/support/v7/app/AppCompatDelegate.java b/v7/appcompat/src/android/support/v7/app/AppCompatDelegate.java
index 785f1df..09f4f56 100644
--- a/v7/appcompat/src/android/support/v7/app/AppCompatDelegate.java
+++ b/v7/appcompat/src/android/support/v7/app/AppCompatDelegate.java
@@ -194,7 +194,7 @@
         } else if (sdk >= 11) {
             return new AppCompatDelegateImplV11(context, window, callback);
         } else {
-            return new AppCompatDelegateImplV7(context, window, callback);
+            return new AppCompatDelegateImplV9(context, window, callback);
         }
     }
 
diff --git a/v7/appcompat/src/android/support/v7/app/AppCompatDelegateImplV11.java b/v7/appcompat/src/android/support/v7/app/AppCompatDelegateImplV11.java
index 8f32e85..584bc8e 100644
--- a/v7/appcompat/src/android/support/v7/app/AppCompatDelegateImplV11.java
+++ b/v7/appcompat/src/android/support/v7/app/AppCompatDelegateImplV11.java
@@ -18,11 +18,10 @@
 
 import android.content.Context;
 import android.util.AttributeSet;
-import android.view.LayoutInflater;
 import android.view.View;
 import android.view.Window;
 
-class AppCompatDelegateImplV11 extends AppCompatDelegateImplV7 {
+class AppCompatDelegateImplV11 extends AppCompatDelegateImplV9 {
 
     AppCompatDelegateImplV11(Context context, Window window, AppCompatCallback callback) {
         super(context, window, callback);
diff --git a/v7/appcompat/src/android/support/v7/app/AppCompatDelegateImplV7.java b/v7/appcompat/src/android/support/v7/app/AppCompatDelegateImplV9.java
similarity index 98%
rename from v7/appcompat/src/android/support/v7/app/AppCompatDelegateImplV7.java
rename to v7/appcompat/src/android/support/v7/app/AppCompatDelegateImplV9.java
index 014605c..e7cf740 100644
--- a/v7/appcompat/src/android/support/v7/app/AppCompatDelegateImplV7.java
+++ b/v7/appcompat/src/android/support/v7/app/AppCompatDelegateImplV9.java
@@ -89,7 +89,7 @@
 import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
 import static android.view.Window.FEATURE_OPTIONS_PANEL;
 
-class AppCompatDelegateImplV7 extends AppCompatDelegateImplBase
+class AppCompatDelegateImplV9 extends AppCompatDelegateImplBase
         implements MenuBuilder.Callback, LayoutInflaterFactory {
 
     private DecorContentParent mDecorContentParent;
@@ -142,7 +142,7 @@
 
     private AppCompatViewInflater mAppCompatViewInflater;
 
-    AppCompatDelegateImplV7(Context context, Window window, AppCompatCallback callback) {
+    AppCompatDelegateImplV9(Context context, Window window, AppCompatCallback callback) {
         super(context, window, callback);
     }
 
@@ -681,7 +681,7 @@
             mActionMode.finish();
         }
 
-        final ActionMode.Callback wrappedCallback = new ActionModeCallbackWrapperV7(callback);
+        final ActionMode.Callback wrappedCallback = new ActionModeCallbackWrapperV9(callback);
 
         ActionBar ab = getSupportActionBar();
         if (ab != null) {
@@ -714,9 +714,9 @@
             mActionMode.finish();
         }
 
-        if (!(callback instanceof ActionModeCallbackWrapperV7)) {
+        if (!(callback instanceof ActionModeCallbackWrapperV9)) {
             // If the callback hasn't been wrapped yet, wrap it
-            callback = new ActionModeCallbackWrapperV7(callback);
+            callback = new ActionModeCallbackWrapperV9(callback);
         }
 
         ActionMode mode = null;
@@ -1020,7 +1020,7 @@
             LayoutInflaterCompat.setFactory(layoutInflater, this);
         } else {
             if (!(LayoutInflaterCompat.getFactory(layoutInflater)
-                    instanceof AppCompatDelegateImplV7)) {
+                    instanceof AppCompatDelegateImplV9)) {
                 Log.i(TAG, "The Activity's LayoutInflater already has a Factory installed"
                         + " so we can not install AppCompat's");
             }
@@ -1735,10 +1735,10 @@
     /**
      * Clears out internal reference when the action mode is destroyed.
      */
-    class ActionModeCallbackWrapperV7 implements ActionMode.Callback {
+    class ActionModeCallbackWrapperV9 implements ActionMode.Callback {
         private ActionMode.Callback mWrapped;
 
-        public ActionModeCallbackWrapperV7(ActionMode.Callback wrapped) {
+        public ActionModeCallbackWrapperV9(ActionMode.Callback wrapped) {
             mWrapped = wrapped;
         }
 
@@ -2061,7 +2061,7 @@
 
         @Override
         public boolean dispatchKeyEvent(KeyEvent event) {
-            return AppCompatDelegateImplV7.this.dispatchKeyEvent(event)
+            return AppCompatDelegateImplV9.this.dispatchKeyEvent(event)
                     || super.dispatchKeyEvent(event);
         }
 
diff --git a/v7/appcompat/src/android/support/v7/view/menu/ActionMenuItemView.java b/v7/appcompat/src/android/support/v7/view/menu/ActionMenuItemView.java
index 445aff4..620c3e3 100644
--- a/v7/appcompat/src/android/support/v7/view/menu/ActionMenuItemView.java
+++ b/v7/appcompat/src/android/support/v7/view/menu/ActionMenuItemView.java
@@ -91,9 +91,7 @@
     }
 
     public void onConfigurationChanged(Configuration newConfig) {
-        if (Build.VERSION.SDK_INT >= 8) {
-            super.onConfigurationChanged(newConfig);
-        }
+        super.onConfigurationChanged(newConfig);
 
         mAllowTextWithIcon = shouldAllowTextWithIcon();
         updateTextButtonVisibility();
diff --git a/v7/appcompat/src/android/support/v7/widget/AbsActionBarView.java b/v7/appcompat/src/android/support/v7/widget/AbsActionBarView.java
index 2121b74..1faf568 100644
--- a/v7/appcompat/src/android/support/v7/widget/AbsActionBarView.java
+++ b/v7/appcompat/src/android/support/v7/widget/AbsActionBarView.java
@@ -71,9 +71,7 @@
 
     @Override
     protected void onConfigurationChanged(Configuration newConfig) {
-        if (Build.VERSION.SDK_INT >= 8) {
-            super.onConfigurationChanged(newConfig);
-        }
+        super.onConfigurationChanged(newConfig);
 
         // Action bar can change size on configuration changes.
         // Reread the desired height from the theme-specified style.
diff --git a/v7/appcompat/src/android/support/v7/widget/ActionBarOverlayLayout.java b/v7/appcompat/src/android/support/v7/widget/ActionBarOverlayLayout.java
index 9623383..d2ded94 100644
--- a/v7/appcompat/src/android/support/v7/widget/ActionBarOverlayLayout.java
+++ b/v7/appcompat/src/android/support/v7/widget/ActionBarOverlayLayout.java
@@ -212,9 +212,7 @@
     }
 
     protected void onConfigurationChanged(Configuration newConfig) {
-        if (Build.VERSION.SDK_INT >= 8) {
-            super.onConfigurationChanged(newConfig);
-        }
+        super.onConfigurationChanged(newConfig);
         init(getContext());
         ViewCompat.requestApplyInsets(this);
     }
diff --git a/v7/appcompat/src/android/support/v7/widget/ActionMenuView.java b/v7/appcompat/src/android/support/v7/widget/ActionMenuView.java
index 9919fec..bf5ab6a 100644
--- a/v7/appcompat/src/android/support/v7/widget/ActionMenuView.java
+++ b/v7/appcompat/src/android/support/v7/widget/ActionMenuView.java
@@ -121,9 +121,7 @@
 
     @Override
     public void onConfigurationChanged(Configuration newConfig) {
-        if (Build.VERSION.SDK_INT >= 8) {
-            super.onConfigurationChanged(newConfig);
-        }
+        super.onConfigurationChanged(newConfig);
 
         if (mPresenter != null) {
             mPresenter.updateMenuView(false);
diff --git a/v7/appcompat/src/android/support/v7/widget/AppCompatAutoCompleteTextView.java b/v7/appcompat/src/android/support/v7/widget/AppCompatAutoCompleteTextView.java
index 4df02a0..38877ba 100644
--- a/v7/appcompat/src/android/support/v7/widget/AppCompatAutoCompleteTextView.java
+++ b/v7/appcompat/src/android/support/v7/widget/AppCompatAutoCompleteTextView.java
@@ -32,7 +32,7 @@
  * platform, including:
  * <ul>
  *     <li>Supports {@link R.attr#textAllCaps} style attribute which works back to
- *     {@link android.os.Build.VERSION_CODES#ECLAIR_MR1 Eclair MR1}.</li>
+ *     {@link android.os.Build.VERSION_CODES#GINGERBREAD Gingerbread}.</li>
  *     <li>Allows dynamic tint of it background via the background tint methods in
  *     {@link android.support.v4.view.ViewCompat}.</li>
  *     <li>Allows setting of the background tint using {@link R.attr#backgroundTint} and
diff --git a/v7/appcompat/src/android/support/v7/widget/AppCompatButton.java b/v7/appcompat/src/android/support/v7/widget/AppCompatButton.java
index 1b06b82..a8c7fbd 100644
--- a/v7/appcompat/src/android/support/v7/widget/AppCompatButton.java
+++ b/v7/appcompat/src/android/support/v7/widget/AppCompatButton.java
@@ -34,7 +34,7 @@
  * including:
  * <ul>
  *     <li>Supports {@link R.attr#textAllCaps} style attribute which works back to
- *     {@link android.os.Build.VERSION_CODES#ECLAIR_MR1 Eclair MR1}.</li>
+ *     {@link android.os.Build.VERSION_CODES#GINGERBREAD Gingerbread}.</li>
  *     <li>Allows dynamic tint of it background via the background tint methods in
  *     {@link android.support.v4.view.ViewCompat}.</li>
  *     <li>Allows setting of the background tint using {@link R.attr#backgroundTint} and
diff --git a/v7/appcompat/src/android/support/v7/widget/AppCompatEditText.java b/v7/appcompat/src/android/support/v7/widget/AppCompatEditText.java
index d690545c..f8f7863 100644
--- a/v7/appcompat/src/android/support/v7/widget/AppCompatEditText.java
+++ b/v7/appcompat/src/android/support/v7/widget/AppCompatEditText.java
@@ -32,7 +32,7 @@
  * including:
  * <ul>
  *     <li>Supports {@link R.attr#textAllCaps} style attribute which works back to
- *     {@link android.os.Build.VERSION_CODES#ECLAIR_MR1 Eclair MR1}.</li>
+ *     {@link android.os.Build.VERSION_CODES#GINGERBREAD Gingerbread}.</li>
  *     <li>Allows dynamic tint of it background via the background tint methods in
  *     {@link android.support.v4.view.ViewCompat}.</li>
  *     <li>Allows setting of the background tint using {@link R.attr#backgroundTint} and
diff --git a/v7/appcompat/src/android/support/v7/widget/AppCompatMultiAutoCompleteTextView.java b/v7/appcompat/src/android/support/v7/widget/AppCompatMultiAutoCompleteTextView.java
index 34cece6..9bd300d 100644
--- a/v7/appcompat/src/android/support/v7/widget/AppCompatMultiAutoCompleteTextView.java
+++ b/v7/appcompat/src/android/support/v7/widget/AppCompatMultiAutoCompleteTextView.java
@@ -32,7 +32,7 @@
  * platform, including:
  * <ul>
  *     <li>Supports {@link R.attr#textAllCaps} style attribute which works back to
- *     {@link android.os.Build.VERSION_CODES#ECLAIR_MR1 Eclair MR1}.</li>
+ *     {@link android.os.Build.VERSION_CODES#GINGERBREAD Gingerbread}.</li>
  *     <li>Allows dynamic tint of it background via the background tint methods in
  *     {@link android.support.v4.view.ViewCompat}.</li>
  *     <li>Allows setting of the background tint using {@link R.attr#backgroundTint} and
diff --git a/v7/appcompat/src/android/support/v7/widget/AppCompatPopupWindow.java b/v7/appcompat/src/android/support/v7/widget/AppCompatPopupWindow.java
index 88b4620..13bb3ed 100644
--- a/v7/appcompat/src/android/support/v7/widget/AppCompatPopupWindow.java
+++ b/v7/appcompat/src/android/support/v7/widget/AppCompatPopupWindow.java
@@ -67,12 +67,10 @@
         if (defStyleRes != 0 && sdk < 11) {
             // If we have a defStyleRes, but we're on < API 11, we need to manually set attributes
             // from the style
-            if (sdk >= 9) {
-                // android:popupAnimationStyle was added in API 9
-                if (a.hasValue(R.styleable.PopupWindow_android_popupAnimationStyle)) {
-                    setAnimationStyle(a.getResourceId(
-                            R.styleable.PopupWindow_android_popupAnimationStyle, -1));
-                }
+            // android:popupAnimationStyle was added in API 9
+            if (a.hasValue(R.styleable.PopupWindow_android_popupAnimationStyle)) {
+                setAnimationStyle(a.getResourceId(
+                        R.styleable.PopupWindow_android_popupAnimationStyle, -1));
             }
         }
 
diff --git a/v7/appcompat/src/android/support/v7/widget/AppCompatTextView.java b/v7/appcompat/src/android/support/v7/widget/AppCompatTextView.java
index fdb4960..797626b 100644
--- a/v7/appcompat/src/android/support/v7/widget/AppCompatTextView.java
+++ b/v7/appcompat/src/android/support/v7/widget/AppCompatTextView.java
@@ -32,7 +32,7 @@
  * including:
  * <ul>
  *     <li>Supports {@link R.attr#textAllCaps} style attribute which works back to
- *     {@link android.os.Build.VERSION_CODES#ECLAIR_MR1 Eclair MR1}.</li>
+ *     {@link android.os.Build.VERSION_CODES#GINGERBREAD Gingerbread}.</li>
  *     <li>Allows dynamic tint of it background via the background tint methods in
  *     {@link android.support.v4.view.ViewCompat}.</li>
  *     <li>Allows setting of the background tint using {@link R.attr#backgroundTint} and
diff --git a/v7/appcompat/src/android/support/v7/widget/DrawableUtils.java b/v7/appcompat/src/android/support/v7/widget/DrawableUtils.java
index 283d43b..9bdcad3 100644
--- a/v7/appcompat/src/android/support/v7/widget/DrawableUtils.java
+++ b/v7/appcompat/src/android/support/v7/widget/DrawableUtils.java
@@ -121,10 +121,7 @@
      * there is a known issue in the given drawable's implementation.
      */
     public static boolean canSafelyMutateDrawable(@NonNull Drawable drawable) {
-        if (Build.VERSION.SDK_INT < 8 && drawable instanceof StateListDrawable) {
-            // StateListDrawable has a bug in mutate() on API 7
-            return false;
-        } else if (Build.VERSION.SDK_INT < 15 && drawable instanceof InsetDrawable) {
+        if (Build.VERSION.SDK_INT < 15 && drawable instanceof InsetDrawable) {
             return false;
         }  else if (Build.VERSION.SDK_INT < 15 && drawable instanceof GradientDrawable) {
             // GradientDrawable has a bug pre-ICS which results in mutate() resulting
diff --git a/v7/appcompat/src/android/support/v7/widget/ScrollingTabContainerView.java b/v7/appcompat/src/android/support/v7/widget/ScrollingTabContainerView.java
index 06118bf..50183dd 100644
--- a/v7/appcompat/src/android/support/v7/widget/ScrollingTabContainerView.java
+++ b/v7/appcompat/src/android/support/v7/widget/ScrollingTabContainerView.java
@@ -217,9 +217,7 @@
     }
 
     protected void onConfigurationChanged(Configuration newConfig) {
-        if (Build.VERSION.SDK_INT >= 8) {
-            super.onConfigurationChanged(newConfig);
-        }
+        super.onConfigurationChanged(newConfig);
 
         ActionBarPolicy abp = ActionBarPolicy.get(getContext());
         // Action bar can change size on configuration changes.
diff --git a/v7/appcompat/src/android/support/v7/widget/SearchView.java b/v7/appcompat/src/android/support/v7/widget/SearchView.java
index 7ae8827..36cbc14 100644
--- a/v7/appcompat/src/android/support/v7/widget/SearchView.java
+++ b/v7/appcompat/src/android/support/v7/widget/SearchView.java
@@ -115,8 +115,6 @@
     private static final boolean DBG = false;
     private static final String LOG_TAG = "SearchView";
 
-    private static final boolean IS_AT_LEAST_FROYO = Build.VERSION.SDK_INT >= 8;
-
     /**
      * Private constant for removing the microphone in the keyboard.
      */
@@ -440,13 +438,11 @@
     public void setSearchableInfo(SearchableInfo searchable) {
         mSearchable = searchable;
         if (mSearchable != null) {
-            if (IS_AT_LEAST_FROYO) {
-                updateSearchAutoComplete();
-            }
+            updateSearchAutoComplete();
             updateQueryHint();
         }
         // Cache the voice search capability
-        mVoiceButtonEnabled = IS_AT_LEAST_FROYO && hasVoiceSearch();
+        mVoiceButtonEnabled = hasVoiceSearch();
 
         if (mVoiceButtonEnabled) {
             // Disable the microphone on the keyboard, as a mic is displayed near the text box
@@ -656,7 +652,7 @@
         final CharSequence hint;
         if (mQueryHint != null) {
             hint = mQueryHint;
-        } else if (IS_AT_LEAST_FROYO && mSearchable != null && mSearchable.getHintId() != 0) {
+        } else if (mSearchable != null && mSearchable.getHintId() != 0) {
             hint = getContext().getText(mSearchable.getHintId());
         } else {
             hint = mDefaultQueryHint;
@@ -925,7 +921,6 @@
         updateSubmitArea();
     }
 
-    @TargetApi(Build.VERSION_CODES.FROYO)
     private boolean hasVoiceSearch() {
         if (mSearchable != null && mSearchable.getVoiceSearchEnabled()) {
             Intent testIntent = null;
@@ -1157,7 +1152,6 @@
     /**
      * Updates the auto-complete text view.
      */
-    @TargetApi(Build.VERSION_CODES.FROYO)
     private void updateSearchAutoComplete() {
         mSearchSrcTextView.setThreshold(mSearchable.getSuggestThreshold());
         mSearchSrcTextView.setImeOptions(mSearchable.getImeOptions());
@@ -1282,7 +1276,6 @@
         }
     }
 
-    @TargetApi(Build.VERSION_CODES.FROYO)
     private void onVoiceClicked() {
         // guard against possible race conditions
         if (mSearchable == null) {
@@ -1601,16 +1594,13 @@
             intent.putExtra(SearchManager.ACTION_KEY, actionKey);
             intent.putExtra(SearchManager.ACTION_MSG, actionMsg);
         }
-        if (IS_AT_LEAST_FROYO) {
-            intent.setComponent(mSearchable.getSearchActivity());
-        }
+        intent.setComponent(mSearchable.getSearchActivity());
         return intent;
     }
 
     /**
      * Create and return an Intent that can launch the voice search activity for web search.
      */
-    @TargetApi(Build.VERSION_CODES.FROYO)
     private Intent createVoiceWebSearchIntent(Intent baseIntent, SearchableInfo searchable) {
         Intent voiceIntent = new Intent(baseIntent);
         ComponentName searchActivity = searchable.getSearchActivity();
@@ -1626,7 +1616,6 @@
      * @param baseIntent The voice app search intent to start from
      * @return A completely-configured intent ready to send to the voice search activity
      */
-    @TargetApi(Build.VERSION_CODES.FROYO)
     private Intent createVoiceAppSearchIntent(Intent baseIntent, SearchableInfo searchable) {
         ComponentName searchActivity = searchable.getSearchActivity();
 
@@ -1658,21 +1647,20 @@
         String language = null;
         int maxResults = 1;
 
-        if (Build.VERSION.SDK_INT >= 8) {
-            Resources resources = getResources();
-            if (searchable.getVoiceLanguageModeId() != 0) {
-                languageModel = resources.getString(searchable.getVoiceLanguageModeId());
-            }
-            if (searchable.getVoicePromptTextId() != 0) {
-                prompt = resources.getString(searchable.getVoicePromptTextId());
-            }
-            if (searchable.getVoiceLanguageId() != 0) {
-                language = resources.getString(searchable.getVoiceLanguageId());
-            }
-            if (searchable.getVoiceMaxResults() != 0) {
-                maxResults = searchable.getVoiceMaxResults();
-            }
+        Resources resources = getResources();
+        if (searchable.getVoiceLanguageModeId() != 0) {
+            languageModel = resources.getString(searchable.getVoiceLanguageModeId());
         }
+        if (searchable.getVoicePromptTextId() != 0) {
+            prompt = resources.getString(searchable.getVoicePromptTextId());
+        }
+        if (searchable.getVoiceLanguageId() != 0) {
+            language = resources.getString(searchable.getVoiceLanguageId());
+        }
+        if (searchable.getVoiceMaxResults() != 0) {
+            maxResults = searchable.getVoiceMaxResults();
+        }
+
         voiceIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, languageModel);
         voiceIntent.putExtra(RecognizerIntent.EXTRA_PROMPT, prompt);
         voiceIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, language);
@@ -1705,7 +1693,7 @@
             // use specific action if supplied, or default action if supplied, or fixed default
             String action = getColumnString(c, SearchManager.SUGGEST_COLUMN_INTENT_ACTION);
 
-            if (action == null && Build.VERSION.SDK_INT >= 8) {
+            if (action == null) {
                 action = mSearchable.getSuggestIntentAction();
             }
             if (action == null) {
@@ -1714,7 +1702,7 @@
 
             // use specific data if supplied, or default data if supplied
             String data = getColumnString(c, SearchManager.SUGGEST_COLUMN_INTENT_DATA);
-            if (IS_AT_LEAST_FROYO && data == null) {
+            if (data == null) {
                 data = mSearchable.getSuggestIntentData();
             }
             // then, if an ID was provided, append it.
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/RenderScript.java b/v8/renderscript/java/src/android/support/v8/renderscript/RenderScript.java
index 85b6763..6cfa49d 100644
--- a/v8/renderscript/java/src/android/support/v8/renderscript/RenderScript.java
+++ b/v8/renderscript/java/src/android/support/v8/renderscript/RenderScript.java
@@ -1342,9 +1342,7 @@
         if (ctx != null) {
             mApplicationContext = ctx.getApplicationContext();
             // Only set mNativeLibDir for API 9+.
-            if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.FROYO) {
-                mNativeLibDir = mApplicationContext.getApplicationInfo().nativeLibraryDir;
-            }
+            mNativeLibDir = mApplicationContext.getApplicationInfo().nativeLibraryDir;
         }
         mIncCon = 0;
         mIncLoaded = false;