/*
 * Copyright (C) 2016 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.os;

import android.os.Build.VERSION;

/**
 * This class contains additional platform version checking methods for targeting pre-release
 * versions of Android.
 */
public class BuildCompat {
    private BuildCompat() {
    }

    /**
     * Checks if the device is running on the Android N release or newer.
     *
     * @return {@code true} if N APIs are available for use
     * @deprecated Android N is a finalized release and this method is no longer necessary. It will
     *             be removed in a future release of the Support Library. Instead, use
     *             {@code Build.SDK_INT >= Build.VERSION_CODES#N}.
     */
    @Deprecated
    public static boolean isAtLeastN() {
        return VERSION.SDK_INT >= 24;
    }

    /**
     * Checks if the device is running on the Android N MR1 release or newer.
     *
     * @return {@code true} if N MR1 APIs are available for use
     * @deprecated Android N MR1 is a finalized release and this method is no longer necessary. It
     *             will be removed in a future release of the Support Library. Instead, use
     *             {@code Build.SDK_INT >= Build.VERSION_CODES#N_MR1}.
     */
    @Deprecated
    public static boolean isAtLeastNMR1() {
        return VERSION.SDK_INT >= 25;
    }

    /**
     * Checks if the device is running on a pre-release version of Android O or newer.
     * <p>
     * <strong>Note:</strong> This method will return {@code false} on devices running release
     * versions of Android. When Android O is finalized for release, this method will be deprecated
     * and all calls should be replaced with {@code Build.SDK_INT >= Build.VERSION_CODES#O}.
     *
     * @return {@code true} if O APIs are available for use, {@code false} otherwise
     */
    public static boolean isAtLeastO() {
        return VERSION.CODENAME.equals("O")
                || VERSION.CODENAME.startsWith("ODR")
                || isAtLeastOMR1();
    }

    /**
     * Checks if the device is running on a pre-release version of Android O MR1 or newer.
     * <p>
     * <strong>Note:</strong> This method will return {@code false} on devices running release
     * versions of Android. When Android O is finalized for release, this method will be deprecated
     * and all calls should be replaced with {@code Build.SDK_INT >= Build.VERSION_CODES#O_MR1}.
     *
     * @return {@code true} if O APIs are available for use, {@code false} otherwise
     */
    public static boolean isAtLeastOMR1() {
        return VERSION.CODENAME.startsWith("OMR")
                || isAtLeastP();
    }

    /**
     * Checks if the device is running on a pre-release version of Android P or newer.
     * <p>
     * <strong>Note:</strong> This method will return {@code false} on devices running release
     * versions of Android. When Android P is finalized for release, this method will be deprecated
     * and all calls should be replaced with {@code Build.SDK_INT >= Build.VERSION_CODES#P}.
     *
     * @return {@code true} if O APIs are available for use, {@code false} otherwise
     */
    public static boolean isAtLeastP() {
        return VERSION.CODENAME.equals("P");
    }
}

@@ -2829,32 +2829,36 @@
  When Android O 
+MR1 
 is finalized for
@@ -2878,32 +2878,39 @@
 s method will be
+%0A     *
  deprecated%0A    
@@ -2896,39 +2896,32 @@
     * deprecated
-%0A     *
  and all calls s
@@ -2934,32 +2934,39 @@
 be replaced with
+%0A     *
  %7B@code Build.SD
@@ -3034,32 +3034,36 @@
 code true%7D if O 
+MR1 
 APIs are availab
@@ -3664,33 +3664,33 @@
 %7B@code true%7D if 
-O
+P
  APIs are availa

Fixing some typos am: d40d5aaadb am: 1bbdff624c