103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved.
203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
303b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)// found in the LICENSE file.
403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)package org.chromium.chrome.browser;
603b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
703b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)/**
803b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) * TODO(nileshagrawal): Rename this class to something more appropriate.
903b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) * Provides a way for java code to determine whether Chrome was built as an official build.
1003b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) */
1103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)public class BrowserVersion {
1203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    /**
1303b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)     * Check if the browser was built as an "official" build.
1403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)     */
1503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    public static boolean isOfficialBuild() {
1603b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)        return nativeIsOfficialBuild();
1703b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    }
1803b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
1903b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    /**
2003b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)     * Only native code can see the OFFICIAL_BUILD flag; check it from there.  This function is
2103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)     * not handled by initialize() and is not available early in startup (before the native
2203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)     * library has loaded).  Calling it before that point will result in an exception.
2303b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)     */
2403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    private static native boolean nativeIsOfficialBuild();
2503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
2603b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    /**
2703b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)     * Get the HTML for the terms of service to be displayed at first run.
2803b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)     */
2903b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    public static String getTermsOfServiceHtml() {
3003b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)        return nativeGetTermsOfServiceHtml();
3103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    }
3203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
3303b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    /**
3403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)     * The terms of service are a native resource.
3503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)     */
3603b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    private static native String nativeGetTermsOfServiceHtml();
3703b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)}
38