• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2009 Google Inc.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5  * use this file except in compliance with the License. You may obtain a copy of
6  * the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13  * License for the specific language governing permissions and limitations under
14  * the License.
15  */
16 
17 package com.android.inputmethod.voice;
18 
19 import android.content.ContentResolver;
20 import android.database.Cursor;
21 import android.net.Uri;
22 import android.provider.Settings;
23 import android.util.Log;
24 
25 /**
26  * Utility for retrieving settings from Settings.Secure.
27  */
28 public class SettingsUtil {
29     /**
30      * A whitespace-separated list of supported locales for voice input from the keyboard.
31      */
32     public static final String LATIN_IME_VOICE_INPUT_SUPPORTED_LOCALES =
33             "latin_ime_voice_input_supported_locales";
34 
35     /**
36      * A whitespace-separated list of recommended app packages for voice input from the
37      * keyboard.
38      */
39     public static final String LATIN_IME_VOICE_INPUT_RECOMMENDED_PACKAGES =
40             "latin_ime_voice_input_recommended_packages";
41 
42     /**
43      * The maximum number of unique days to show the swipe hint for voice input.
44      */
45     public static final String LATIN_IME_VOICE_INPUT_SWIPE_HINT_MAX_DAYS =
46             "latin_ime_voice_input_swipe_hint_max_days";
47 
48     /**
49      * The maximum number of times to show the punctuation hint for voice input.
50      */
51     public static final String LATIN_IME_VOICE_INPUT_PUNCTUATION_HINT_MAX_DISPLAYS =
52             "latin_ime_voice_input_punctuation_hint_max_displays";
53 
54     /**
55      * Endpointer parameters for voice input from the keyboard.
56      */
57     public static final String LATIN_IME_SPEECH_MINIMUM_LENGTH_MILLIS =
58             "latin_ime_speech_minimum_length_millis";
59     public static final String LATIN_IME_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS =
60             "latin_ime_speech_input_complete_silence_length_millis";
61     public static final String LATIN_IME_SPEECH_INPUT_POSSIBLY_COMPLETE_SILENCE_LENGTH_MILLIS =
62             "latin_ime_speech_input_possibly_complete_silence_length_millis";
63 
64     /**
65      * Min and max volume levels that can be displayed on the "speak now" screen.
66      */
67     public static final String LATIN_IME_MIN_MICROPHONE_LEVEL =
68             "latin_ime_min_microphone_level";
69     public static final String LATIN_IME_MAX_MICROPHONE_LEVEL =
70             "latin_ime_max_microphone_level";
71 
72     /**
73      * The number of sentence-level alternates to request of the server.
74      */
75     public static final String LATIN_IME_MAX_VOICE_RESULTS = "latin_ime_max_voice_results";
76 
77     /**
78      * Get a string-valued setting.
79      *
80      * @param cr The content resolver to use
81      * @param key The setting to look up
82      * @param defaultValue The default value to use if none can be found
83      * @return The value of the setting, or defaultValue if it couldn't be found
84      */
getSettingsString(ContentResolver cr, String key, String defaultValue)85     public static String getSettingsString(ContentResolver cr, String key, String defaultValue) {
86         String result = Settings.Secure.getString(cr, key);
87         return (result == null) ? defaultValue : result;
88     }
89 
90     /**
91      * Get an int-valued setting.
92      *
93      * @param cr The content resolver to use
94      * @param key The setting to look up
95      * @param defaultValue The default value to use if the setting couldn't be found or parsed
96      * @return The value of the setting, or defaultValue if it couldn't be found or parsed
97      */
getSettingsInt(ContentResolver cr, String key, int defaultValue)98     public static int getSettingsInt(ContentResolver cr, String key, int defaultValue) {
99         return Settings.Secure.getInt(cr, key, defaultValue);
100     }
101 
102     /**
103      * Get a float-valued setting.
104      *
105      * @param cr The content resolver to use
106      * @param key The setting to look up
107      * @param defaultValue The default value to use if the setting couldn't be found or parsed
108      * @return The value of the setting, or defaultValue if it couldn't be found or parsed
109      */
getSettingsFloat(ContentResolver cr, String key, float defaultValue)110     public static float getSettingsFloat(ContentResolver cr, String key, float defaultValue) {
111         return Settings.Secure.getFloat(cr, key, defaultValue);
112     }
113 }
114