當前位置: 首頁>>代碼示例>>Java>>正文


Java DataReductionPromoUtils類代碼示例

本文整理匯總了Java中org.chromium.chrome.browser.preferences.datareduction.DataReductionPromoUtils的典型用法代碼示例。如果您正苦於以下問題:Java DataReductionPromoUtils類的具體用法?Java DataReductionPromoUtils怎麽用?Java DataReductionPromoUtils使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


DataReductionPromoUtils類屬於org.chromium.chrome.browser.preferences.datareduction包,在下文中一共展示了DataReductionPromoUtils類的8個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: maybeShowDataReductionPromoSnackbar

import org.chromium.chrome.browser.preferences.datareduction.DataReductionPromoUtils; //導入依賴的package包/類
/**
 * Shows the Data Reduction Proxy promo snackbar if the current data savings are over
 * specific thresholds set by finch and the snackbar has not been shown for that
 *
 * @param dataSavingsInBytes The amount of data the Data Reduction Proxy has saved in bytes.
 */
public void maybeShowDataReductionPromoSnackbar(long dataSavingsInBytes) {
    // Prevents users who upgrade and have already saved mPromoDataSavingsInMB from seeing the
    // promo.
    if (!DataReductionPromoUtils.hasSnackbarPromoBeenInitWithStartingSavedBytes()) {
        DataReductionPromoUtils.saveSnackbarPromoDisplayed(dataSavingsInBytes);
        return;
    }

    for (int promoDataSavingsMB : mPromoDataSavingsMB) {
        long promoDataSavingsBytes = promoDataSavingsMB * BYTES_PER_MEGABYTE;
        if (promoDataSavingsMB > 0 && dataSavingsInBytes >= promoDataSavingsBytes
                && DataReductionPromoUtils
                        .getDisplayedSnackbarPromoSavedBytes() < promoDataSavingsBytes) {
            mSnackbarManager.showSnackbar(Snackbar
                    .make(getStringForBytes(promoDataSavingsBytes),
                            this,
                            Snackbar.TYPE_NOTIFICATION, Snackbar.UMA_DATA_REDUCTION_PROMO)
                    .setAction(
                            mContext.getString(R.string.data_reduction_promo_snackbar_button),
                            null));
            DataReductionProxyUma.dataReductionProxySnackbarPromo(promoDataSavingsMB);
            DataReductionPromoUtils.saveSnackbarPromoDisplayed(dataSavingsInBytes);
            break;
        }
    }
}
 
開發者ID:rkshuai,項目名稱:chromium-for-android-56-debug-video,代碼行數:33,代碼來源:DataReductionPromoSnackbarController.java

示例2: launch

import org.chromium.chrome.browser.preferences.datareduction.DataReductionPromoUtils; //導入依賴的package包/類
/**
 * Launch a data reduction proxy {@link InfoBar} with the specified title and link
 * text. Clicking the link will open the specified settings page.
 *
 * @param webContents The {@link WebContents} in which to open the {@link InfoBar}.
 * @param icon Bitmap to use for the {@link InfoBar} icon.
 * @param title The title to display in the {@link InfoBar}.
 * @param text The text to display in the {@link InfoBar}.
 * @param primaryButtonText The text to display on the primary button.
 * @param secondaryButtonText The text to display on the secondary button.
 */
private static void launch(WebContents webContents,
        Bitmap icon,
        String title,
        String text,
        String primaryButtonText,
        String secondaryButtonText) {
    sTitle = title;
    sText = text;
    sPrimaryButtonText = primaryButtonText;
    sSecondaryButtonText = secondaryButtonText;
    sIcon = icon;
    DataReductionPromoInfoBarDelegate.launch(webContents);
    DataReductionPromoUtils.saveInfoBarPromoDisplayed();
}
 
開發者ID:rkshuai,項目名稱:chromium-for-android-56-debug-video,代碼行數:26,代碼來源:DataReductionPromoInfoBar.java

示例3: clearDataSavingStatistics

import org.chromium.chrome.browser.preferences.datareduction.DataReductionPromoUtils; //導入依賴的package包/類
/**
 * Clears all data saving statistics.
 */
public void clearDataSavingStatistics() {
    // When the data saving statistics are cleared, reset the snackbar promo that tells the user
    // how much data they have saved using Data Saver so far.
    DataReductionPromoUtils.saveSnackbarPromoDisplayed(0);
    ContextUtils.getAppSharedPreferences()
            .edit()
            .putLong(DATA_REDUCTION_FIRST_ENABLED_TIME, System.currentTimeMillis())
            .apply();
    nativeClearDataSavingStatistics(mNativeDataReductionProxySettings);
}
 
開發者ID:mogoweb,項目名稱:365browser,代碼行數:14,代碼來源:DataReductionProxySettings.java

示例4: DataReductionPromoSnackbarController

import org.chromium.chrome.browser.preferences.datareduction.DataReductionPromoUtils; //導入依賴的package包/類
/**
 * Creates an instance of a {@link DataReductionPromoSnackbarController}.
 *
 * @param context The {@link Context} in which snackbar is shown.
 * @param snackbarManager The manager that helps to show the snackbar.
 */
public DataReductionPromoSnackbarController(Context context, SnackbarManager snackbarManager) {
    mSnackbarManager = snackbarManager;
    mContext = context;

    String variationParamValue = VariationsAssociatedData
            .getVariationParamValue(PROMO_FIELD_TRIAL_NAME, PROMO_PARAM_NAME);

    if (variationParamValue.isEmpty()) {
        if (CommandLine.getInstance()
                .hasSwitch(ENABLE_DATA_REDUCTION_PROXY_SAVINGS_PROMO_SWITCH)) {
            mPromoDataSavingsMB = new int[1];
            mPromoDataSavingsMB[0] = 1;
        } else {
            mPromoDataSavingsMB = new int[0];
        }
    } else {
        variationParamValue = variationParamValue.replace(" ", "");
        String[] promoDataSavingStrings = variationParamValue.split(";");

        if (CommandLine.getInstance()
                .hasSwitch(ENABLE_DATA_REDUCTION_PROXY_SAVINGS_PROMO_SWITCH)) {
            mPromoDataSavingsMB = new int[promoDataSavingStrings.length + 1];
            mPromoDataSavingsMB[promoDataSavingStrings.length] = 1;
        } else {
            mPromoDataSavingsMB = new int[promoDataSavingStrings.length];
        }

        for (int i = 0; i < promoDataSavingStrings.length; i++) {
            try {
                mPromoDataSavingsMB[i] = Integer.parseInt(promoDataSavingStrings[i]);
            } catch (NumberFormatException e) {
                mPromoDataSavingsMB[i] = -1;
            }
        }
    }

    if (CommandLine.getInstance().hasSwitch(CLEAR_DATA_REDUCTION_PROXY_DATA_SAVINGS_SWITCH)) {
        DataReductionPromoUtils.saveSnackbarPromoDisplayed(0);
    }
}
 
開發者ID:rkshuai,項目名稱:chromium-for-android-56-debug-video,代碼行數:47,代碼來源:DataReductionPromoSnackbarController.java

示例5: completeFirstRunExperience

import org.chromium.chrome.browser.preferences.datareduction.DataReductionPromoUtils; //導入依賴的package包/類
@Override
public void completeFirstRunExperience() {
    if (!TextUtils.isEmpty(mResultSignInAccountName)) {
        boolean defaultAccountName =
                sGlue.isDefaultAccountName(getApplicationContext(), mResultSignInAccountName);
        int choice;
        if (mResultShowSignInSettings) {
            if (defaultAccountName) {
                choice = SIGNIN_SETTINGS_DEFAULT_ACCOUNT;
            } else {
                choice = SIGNIN_SETTINGS_ANOTHER_ACCOUNT;
            }
        } else {
            if (defaultAccountName) {
                choice = SIGNIN_ACCEPT_DEFAULT_ACCOUNT;
            } else {
                choice = SIGNIN_ACCEPT_ANOTHER_ACCOUNT;
            }
        }
        sSigninChoiceHistogram.record(choice);
        recordFreProgressHistogram(FRE_PROGRESS_COMPLETED_SIGNED_IN);
    } else {
        recordFreProgressHistogram(FRE_PROGRESS_COMPLETED_NOT_SIGNED_IN);
    }

    mFreProperties.putString(RESULT_SIGNIN_ACCOUNT_NAME, mResultSignInAccountName);
    mFreProperties.putBoolean(RESULT_SHOW_SIGNIN_SETTINGS, mResultShowSignInSettings);
    FirstRunFlowSequencer.markFlowAsCompleted(this, mFreProperties);

    if (DataReductionPromoUtils.getDisplayedFreOrSecondRunPromo()) {
        if (DataReductionProxySettings.getInstance().isDataReductionProxyEnabled()) {
            DataReductionProxyUma
                    .dataReductionProxyUIAction(DataReductionProxyUma.ACTION_FRE_ENABLED);
            DataReductionPromoUtils.saveFrePromoOptOut(false);
        } else {
            DataReductionProxyUma
                    .dataReductionProxyUIAction(DataReductionProxyUma.ACTION_FRE_DISABLED);
            DataReductionPromoUtils.saveFrePromoOptOut(true);
        }
    }

    Intent resultData = new Intent();
    resultData.putExtras(mFreProperties);
    finishAllTheActivities(getLocalClassName(), Activity.RESULT_OK, resultData);

    sendPendingIntentIfNecessary(true);
}
 
開發者ID:rkshuai,項目名稱:chromium-for-android-56-debug-video,代碼行數:48,代碼來源:FirstRunActivity.java

示例6: onStart

import org.chromium.chrome.browser.preferences.datareduction.DataReductionPromoUtils; //導入依賴的package包/類
@Override
public void onStart() {
    super.onStart();
    DataReductionPromoUtils.saveFreOrSecondRunPromoDisplayed();
}
 
開發者ID:rkshuai,項目名稱:chromium-for-android-56-debug-video,代碼行數:6,代碼來源:DataReductionProxyFirstRunFragment.java

示例7: maybeLaunchPromoInfoBar

import org.chromium.chrome.browser.preferences.datareduction.DataReductionPromoUtils; //導入依賴的package包/類
/**
 * Launch the data reduction infobar promo, if it needs to be displayed.
 *
 * @param context An Android context.
 * @param webContents The WebContents of the tab on which the infobar should show.
 * @param url The URL of the page on which the infobar should show.
 * @param isFragmentNavigation Whether the main frame navigation did not cause changes to the
 *            document (for example scrolling to a named anchor PopState).
 * @param statusCode The HTTP status code of the navigation.
 * @return boolean Whether the promo was launched.
 */
public static boolean maybeLaunchPromoInfoBar(Context context,
        WebContents webContents, String url, boolean isErrorPage, boolean isFragmentNavigation,
        int statusCode) {
    ThreadUtils.assertOnUiThread();
    if (webContents.isIncognito()) return false;
    if (isErrorPage) return false;
    if (isFragmentNavigation) return false;
    if (statusCode != HttpURLConnection.HTTP_OK) return false;
    if (!DataReductionPromoUtils.canShowPromos()) return false;

    // Don't show the infobar promo if neither the first run experience or second run promo has
    // been shown.
    if (!DataReductionPromoUtils.getDisplayedFreOrSecondRunPromo()) return false;

    // Don't show the promo if the user opted out on the first run experience promo.
    if (DataReductionPromoUtils.getOptedOutOnFrePromo()) return false;

    // Don't show the promo if the user has seen this infobar promo before.
    if (DataReductionPromoUtils.getDisplayedInfoBarPromo()) return false;

    // Only show the promo on HTTP pages.
    if (!GURLUtils.getScheme(url).concat("://").equals(UrlConstants.HTTP_SCHEME)) return false;

    int currentMilestone = VersionNumberGetter.getMilestoneFromVersionNumber(
            PrefServiceBridge.getInstance().getAboutVersionStrings().getApplicationVersion());
    String freOrSecondRunVersion =
            DataReductionPromoUtils.getDisplayedFreOrSecondRunPromoVersion();

    // Temporarily allowing disk access. TODO: Fix. See http://crbug.com/577185
    StrictMode.ThreadPolicy oldPolicy = StrictMode.allowThreadDiskReads();
    try {
        Calendar releaseDateOfM48Stable = Calendar.getInstance(TimeZone.getTimeZone("UTC"));

        releaseDateOfM48Stable.setTime(Date.valueOf(M48_STABLE_RELEASE_DATE));
        long packageInstallTime = getPackageInstallTime(context);

        // The boolean pref that stores whether user opted out on the first run experience was
        // added in M51. If the last promo was shown before M51, then |freOrSecondRunVersion|
        // will be empty. If Chrome was installed after the FRE promo was added in M48 and
        // beforeM51,assume the user opted out from the FRE and don't show the infobar.
        if (freOrSecondRunVersion.isEmpty()
                && packageInstallTime > releaseDateOfM48Stable.getTimeInMillis()) {
            return false;
        }

        // Only show the promo if the current version is at least two milestones after the last
        // promo was displayed or the command line switch is on. If the last promo was shown
        // before M51 then |freOrSecondRunVersion| will be empty and it is safe to show the
        // infobar promo.
        if (!CommandLine.getInstance().hasSwitch(ENABLE_INFOBAR_SWITCH)
                && !freOrSecondRunVersion.isEmpty()
                && currentMilestone < VersionNumberGetter
                        .getMilestoneFromVersionNumber(freOrSecondRunVersion) + 2) {
            return false;
        }

        DataReductionPromoInfoBar.launch(webContents,
                BitmapFactory.decodeResource(context.getResources(),
                        R.drawable.infobar_chrome),
                context.getString(R.string.data_reduction_promo_infobar_title),
                context.getString(R.string.data_reduction_promo_infobar_text),
                context.getString(R.string.data_reduction_promo_infobar_button),
                context.getString(R.string.no_thanks));

        return true;
    } finally {
        StrictMode.setThreadPolicy(oldPolicy);
    }
}
 
開發者ID:rkshuai,項目名稱:chromium-for-android-56-debug-video,代碼行數:81,代碼來源:DataReductionPromoInfoBar.java

示例8: maybeLaunchPromoInfoBar

import org.chromium.chrome.browser.preferences.datareduction.DataReductionPromoUtils; //導入依賴的package包/類
/**
 * Launch the data reduction infobar promo, if it needs to be displayed.
 *
 * @param context An Android context.
 * @param webContents The WebContents of the tab on which the infobar should show.
 * @param url The URL of the page on which the infobar should show.
 * @param isFragmentNavigation Whether the main frame navigation did not cause changes to the
 *            document (for example scrolling to a named anchor PopState).
 * @param statusCode The HTTP status code of the navigation.
 * @return boolean Whether the promo was launched.
 */
public static boolean maybeLaunchPromoInfoBar(Context context,
        WebContents webContents, String url, boolean isErrorPage, boolean isFragmentNavigation,
        int statusCode) {
    ThreadUtils.assertOnUiThread();
    if (webContents.isIncognito()) return false;
    if (isErrorPage) return false;
    if (isFragmentNavigation) return false;
    if (statusCode != HttpURLConnection.HTTP_OK) return false;
    if (!DataReductionPromoUtils.canShowPromos()) return false;

    // Don't show the infobar promo if neither the first run experience or second run promo has
    // been shown.
    if (!DataReductionPromoUtils.getDisplayedFreOrSecondRunPromo()) return false;

    // Don't show the promo if the user opted out on the first run experience promo.
    if (DataReductionPromoUtils.getOptedOutOnFrePromo()) return false;

    // Don't show the promo if the user has seen this infobar promo before.
    if (DataReductionPromoUtils.getDisplayedInfoBarPromo()) return false;

    // Only show the promo on HTTP pages.
    if (!GURLUtils.getScheme(url).equals(UrlConstants.HTTP_SCHEME)) return false;

    int currentMilestone = VersionNumberGetter.getMilestoneFromVersionNumber(
            PrefServiceBridge.getInstance().getAboutVersionStrings().getApplicationVersion());
    String freOrSecondRunVersion =
            DataReductionPromoUtils.getDisplayedFreOrSecondRunPromoVersion();

    // Temporarily allowing disk access. TODO: Fix. See http://crbug.com/577185
    StrictMode.ThreadPolicy oldPolicy = StrictMode.allowThreadDiskReads();
    try {
        Calendar releaseDateOfM48Stable = Calendar.getInstance(TimeZone.getTimeZone("UTC"));

        releaseDateOfM48Stable.setTime(Date.valueOf(M48_STABLE_RELEASE_DATE));
        long packageInstallTime = getPackageInstallTime(context);

        // The boolean pref that stores whether user opted out on the first run experience was
        // added in M51. If the last promo was shown before M51, then |freOrSecondRunVersion|
        // will be empty. If Chrome was installed after the FRE promo was added in M48 and
        // beforeM51,assume the user opted out from the FRE and don't show the infobar.
        if (freOrSecondRunVersion.isEmpty()
                && packageInstallTime > releaseDateOfM48Stable.getTimeInMillis()) {
            return false;
        }

        // Only show the promo if the current version is at least two milestones after the last
        // promo was displayed or the command line switch is on. If the last promo was shown
        // before M51 then |freOrSecondRunVersion| will be empty and it is safe to show the
        // infobar promo.
        if (!CommandLine.getInstance().hasSwitch(ENABLE_INFOBAR_SWITCH)
                && !freOrSecondRunVersion.isEmpty()
                && currentMilestone < VersionNumberGetter
                        .getMilestoneFromVersionNumber(freOrSecondRunVersion) + 2) {
            return false;
        }

        DataReductionPromoInfoBar.launch(webContents,
                BitmapFactory.decodeResource(context.getResources(),
                        R.drawable.infobar_chrome),
                context.getString(R.string.data_reduction_promo_infobar_title),
                context.getString(R.string.data_reduction_promo_infobar_text),
                context.getString(R.string.data_reduction_promo_infobar_button),
                context.getString(R.string.no_thanks));

        return true;
    } finally {
        StrictMode.setThreadPolicy(oldPolicy);
    }
}
 
開發者ID:mogoweb,項目名稱:365browser,代碼行數:81,代碼來源:DataReductionPromoInfoBar.java


注:本文中的org.chromium.chrome.browser.preferences.datareduction.DataReductionPromoUtils類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。