1 /*
2  * Copyright (C) 2013 The Android Open Source Project
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.dictionarypack;
18 
19 /**
20  * A class to group constants for dictionary pack usage.
21  *
22  * This class only defines constants. It should not make any references to outside code as far as
23  * possible, as it's used to separate cleanly the keyboard code from the dictionary pack code; this
24  * is needed in particular to cleanly compile regression tests.
25  */
26 public class DictionaryPackConstants {
27     /**
28      * The root domain for the dictionary pack, upon which authorities and actions will append
29      * their own distinctive strings.
30      */
31     private static final String DICTIONARY_DOMAIN = "com.android.inputmethod.dictionarypack.aosp";
32 
33     /**
34      * Authority for the ContentProvider protocol.
35      */
36     // TODO: find some way to factorize this string with the one in the resources
37     public static final String AUTHORITY = DICTIONARY_DOMAIN;
38 
39     /**
40      * The action of the intent for publishing that new dictionary data is available.
41      */
42     // TODO: make this different across different packages. A suggested course of action is
43     // to use the package name inside this string.
44     // NOTE: The appended string should be uppercase like all other actions, but it's not for
45     // historical reasons.
46     public static final String NEW_DICTIONARY_INTENT_ACTION = DICTIONARY_DOMAIN + ".newdict";
47 
48     /**
49      * The action of the intent sent by the dictionary pack to ask for a client to make
50      * itself known. This is used when the settings activity is brought up for a client the
51      * dictionary pack does not know about.
52      */
53     public static final String UNKNOWN_DICTIONARY_PROVIDER_CLIENT = DICTIONARY_DOMAIN
54             + ".UNKNOWN_CLIENT";
55 
56     // In the above intents, the name of the string extra that contains the name of the client
57     // we want information about.
58     public static final String DICTIONARY_PROVIDER_CLIENT_EXTRA = "client";
59 
60     /**
61      * The action of the intent to tell the dictionary provider to update now.
62      */
63     public static final String UPDATE_NOW_INTENT_ACTION = DICTIONARY_DOMAIN
64             + ".UPDATE_NOW";
65 
66     /**
67      * The intent action to inform the dictionary provider to initialize the db
68      * and update now.
69      */
70     public static final String INIT_AND_UPDATE_NOW_INTENT_ACTION = DICTIONARY_DOMAIN
71             + ".INIT_AND_UPDATE_NOW";
72 }
73