1 /*
2  * Copyright (c) 2014 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of 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,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package com.android.ims;
18 
19 /**
20  * Used by IMS config client to monitor the config operation results.
21  * {@hide}
22  */
23 oneway interface ImsConfigListener {
24     /**
25      * Notifies client the value of the get operation result on the feature config item.
26      * The arguments are the same as passed to com.android.ims.ImsConfig#getFeatureValue.
27      *
28      * @param feature. as defined in com.android.ims.ImsConfig#FeatureConstants.
29      * @param network. as defined in android.telephony.TelephonyManager#NETWORK_TYPE_XXX.
30      * @param value. as defined in com.android.ims.ImsConfig#FeatureValueConstants.
31      * @param status. as defined in com.android.ims.ImsConfig#OperationStatusConstants.
32      * @return void.
33      */
onGetFeatureResponse(int feature, int network, int value, int status)34     void onGetFeatureResponse(int feature, int network, int value, int status);
35 
36     /**
37      * Notifies client the set value operation result for feature config item.
38      * Used by clients that need to be notified the set operation result.
39      * The arguments are the same as passed to com.android.ims.ImsConfig#setFeatureValue.
40      * The arguments are repeated in the callback to enable the listener to understand
41      * which configuration attempt failed.
42      *
43      * @param feature. as defined in com.android.ims.ImsConfig#FeatureConstants.
44      * @param network. as defined in android.telephony.TelephonyManager#NETWORK_TYPE_XXX.
45      * @param value. as defined in com.android.ims.ImsConfig#FeatureValueConstants.
46      * @param status. as defined in com.android.ims.ImsConfig#OperationStatusConstants.
47      *
48      * @return void.
49      */
50     @UnsupportedAppUsage
onSetFeatureResponse(int feature, int network, int value, int status)51     void onSetFeatureResponse(int feature, int network, int value, int status);
52 
53     /**
54      * Notifies client the value of the get operation result on the video quality item.
55      *
56      * @param status. as defined in com.android.ims.ImsConfig#OperationStatusConstants.
57      * @param quality. as defined in com.android.ims.ImsConfig#OperationValuesConstants.
58      * @return void
59      *
60      * @throws ImsException if calling the IMS service results in an error.
61      */
onGetVideoQuality(int status, int quality)62      void onGetVideoQuality(int status, int quality);
63 
64     /**
65      * Notifies client the set value operation result for video quality item.
66      * Used by clients that need to be notified the set operation result.
67      *
68      * @param status. as defined in com.android.ims.ImsConfig#OperationStatusConstants.
69      * @return void
70      *
71      * @throws ImsException if calling the IMS service results in an error.
72      */
onSetVideoQuality(int status)73      void onSetVideoQuality(int status);
74 }
75