1 // Copyright 2017 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 package org.chromium.chrome.browser.vr; 6 7 import org.chromium.chrome.browser.flags.ChromeFeatureList; 8 import org.chromium.chrome.browser.preferences.ChromePreferenceKeys; 9 import org.chromium.chrome.browser.preferences.SharedPreferencesManager; 10 11 /** 12 * Gets and sets preferences related to the status of the Vr feedback infobar. 13 */ 14 public class VrFeedbackStatus { 15 private static final String FEEDBACK_FREQUENCY_PARAM_NAME = "feedback_frequency"; 16 private static final int DEFAULT_FEEDBACK_FREQUENCY = 10; 17 18 /** 19 * Returns how often we should show the feedback prompt. 20 */ getFeedbackFrequency()21 public static int getFeedbackFrequency() { 22 return ChromeFeatureList.getFieldTrialParamByFeatureAsInt( 23 ChromeFeatureList.VR_BROWSING_FEEDBACK, FEEDBACK_FREQUENCY_PARAM_NAME, 24 DEFAULT_FEEDBACK_FREQUENCY); 25 } 26 27 /** 28 * Sets the "opted out of entering VR feedback" preference. 29 * @param optOut Whether the VR feedback option has been opted-out of. 30 */ setFeedbackOptOut(boolean optOut)31 public static void setFeedbackOptOut(boolean optOut) { 32 SharedPreferencesManager.getInstance().writeBoolean( 33 ChromePreferenceKeys.VR_FEEDBACK_OPT_OUT, optOut); 34 } 35 36 /** 37 * Returns whether the user opted out of entering feedback for their VR experience. 38 */ getFeedbackOptOut()39 public static boolean getFeedbackOptOut() { 40 return SharedPreferencesManager.getInstance().readBoolean( 41 ChromePreferenceKeys.VR_FEEDBACK_OPT_OUT, false); 42 } 43 44 /** 45 * Sets the "exited VR mode into 2D browsing" preference. 46 * @param count The number of times the user exited VR and entered 2D browsing mode 47 */ setUserExitedAndEntered2DCount(int count)48 public static void setUserExitedAndEntered2DCount(int count) { 49 SharedPreferencesManager.getInstance().writeInt( 50 ChromePreferenceKeys.VR_EXIT_TO_2D_COUNT, count); 51 } 52 53 /** 54 * Returns the number of times the user has exited VR mode and entered the 2D browsing 55 * mode. 56 */ getUserExitedAndEntered2DCount()57 public static int getUserExitedAndEntered2DCount() { 58 return SharedPreferencesManager.getInstance().readInt( 59 ChromePreferenceKeys.VR_EXIT_TO_2D_COUNT, 0); 60 } 61 } 62