1ef36ef67e009449300b0150c60c9f637e205d79eWink Saville/*
2ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * Copyright (c) 2013 The Android Open Source Project
3ef36ef67e009449300b0150c60c9f637e205d79eWink Saville *
4ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * Licensed under the Apache License, Version 2.0 (the "License");
5ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * you may not use this file except in compliance with the License.
6ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * You may obtain a copy of the License at
7ef36ef67e009449300b0150c60c9f637e205d79eWink Saville *
8ef36ef67e009449300b0150c60c9f637e205d79eWink Saville *      http://www.apache.org/licenses/LICENSE-2.0
9ef36ef67e009449300b0150c60c9f637e205d79eWink Saville *
10ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * Unless required by applicable law or agreed to in writing, software
11ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * distributed under the License is distributed on an "AS IS" BASIS,
12ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * See the License for the specific language governing permissions and
14ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * limitations under the License.
15ef36ef67e009449300b0150c60c9f637e205d79eWink Saville */
16ef36ef67e009449300b0150c60c9f637e205d79eWink Saville
17ef36ef67e009449300b0150c60c9f637e205d79eWink Savillepackage com.android.ims;
18ef36ef67e009449300b0150c60c9f637e205d79eWink Saville
194de9cbb93b842385b511106fb72cdbfcd59bc3d6Pavel Zhamaitsiakimport android.net.Uri;
204de9cbb93b842385b511106fb72cdbfcd59bc3d6Pavel Zhamaitsiak
21ef36ef67e009449300b0150c60c9f637e205d79eWink Saville/**
22ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * Listener for receiving notifications about changes to the IMS connection.
23ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * It provides a state of IMS registration between UE and IMS network, the service
24ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * availability of the local device during IMS registered.
25ef36ef67e009449300b0150c60c9f637e205d79eWink Saville *
26ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * @hide
27ef36ef67e009449300b0150c60c9f637e205d79eWink Saville */
28ef36ef67e009449300b0150c60c9f637e205d79eWink Savillepublic class ImsConnectionStateListener {
29ef36ef67e009449300b0150c60c9f637e205d79eWink Saville    /**
30ef36ef67e009449300b0150c60c9f637e205d79eWink Saville     * Called when the device is connected to the IMS network.
31ef36ef67e009449300b0150c60c9f637e205d79eWink Saville     */
32ef36ef67e009449300b0150c60c9f637e205d79eWink Saville    public void onImsConnected() {
33ef36ef67e009449300b0150c60c9f637e205d79eWink Saville        // no-op
34ef36ef67e009449300b0150c60c9f637e205d79eWink Saville    }
35ef36ef67e009449300b0150c60c9f637e205d79eWink Saville
36ef36ef67e009449300b0150c60c9f637e205d79eWink Saville    /**
377b72dc2e9dacdb51e998775e8505744a574afb12Rekha Kumar     * Called when the device is trying to connect to the IMS network.
387b72dc2e9dacdb51e998775e8505744a574afb12Rekha Kumar     */
397b72dc2e9dacdb51e998775e8505744a574afb12Rekha Kumar    public void onImsProgressing() {
407b72dc2e9dacdb51e998775e8505744a574afb12Rekha Kumar        // no-op
417b72dc2e9dacdb51e998775e8505744a574afb12Rekha Kumar    }
427b72dc2e9dacdb51e998775e8505744a574afb12Rekha Kumar
437b72dc2e9dacdb51e998775e8505744a574afb12Rekha Kumar    /**
44ef36ef67e009449300b0150c60c9f637e205d79eWink Saville     * Called when the device is disconnected from the IMS network.
45ef36ef67e009449300b0150c60c9f637e205d79eWink Saville     */
467b72dc2e9dacdb51e998775e8505744a574afb12Rekha Kumar    public void onImsDisconnected(ImsReasonInfo imsReasonInfo) {
47ef36ef67e009449300b0150c60c9f637e205d79eWink Saville        // no-op
48ef36ef67e009449300b0150c60c9f637e205d79eWink Saville    }
49ef36ef67e009449300b0150c60c9f637e205d79eWink Saville
50ef36ef67e009449300b0150c60c9f637e205d79eWink Saville    /**
51ef36ef67e009449300b0150c60c9f637e205d79eWink Saville     * Called when its suspended IMS connection is resumed, meaning the connection
52ef36ef67e009449300b0150c60c9f637e205d79eWink Saville     * now allows throughput.
53ef36ef67e009449300b0150c60c9f637e205d79eWink Saville     */
54ef36ef67e009449300b0150c60c9f637e205d79eWink Saville    public void onImsResumed() {
55ef36ef67e009449300b0150c60c9f637e205d79eWink Saville        // no-op
56ef36ef67e009449300b0150c60c9f637e205d79eWink Saville    }
57ef36ef67e009449300b0150c60c9f637e205d79eWink Saville
58ef36ef67e009449300b0150c60c9f637e205d79eWink Saville    /**
59ef36ef67e009449300b0150c60c9f637e205d79eWink Saville     * Called when its current IMS connection is suspended, meaning there is no data throughput.
60ef36ef67e009449300b0150c60c9f637e205d79eWink Saville     */
61ef36ef67e009449300b0150c60c9f637e205d79eWink Saville    public void onImsSuspended() {
62ef36ef67e009449300b0150c60c9f637e205d79eWink Saville        // no-op
63ef36ef67e009449300b0150c60c9f637e205d79eWink Saville    }
64e229678c0502930303de5dfdb939c0214a67d151Libin.Tang@motorola.com
65e229678c0502930303de5dfdb939c0214a67d151Libin.Tang@motorola.com    /**
66e229678c0502930303de5dfdb939c0214a67d151Libin.Tang@motorola.com     * Called when its current IMS connection feature capability changes.
67e229678c0502930303de5dfdb939c0214a67d151Libin.Tang@motorola.com     */
68e229678c0502930303de5dfdb939c0214a67d151Libin.Tang@motorola.com    public void onFeatureCapabilityChanged(int serviceClass,
69e229678c0502930303de5dfdb939c0214a67d151Libin.Tang@motorola.com                int[] enabledFeatures, int[] disabledFeatures) {
70e229678c0502930303de5dfdb939c0214a67d151Libin.Tang@motorola.com        // no-op
71e229678c0502930303de5dfdb939c0214a67d151Libin.Tang@motorola.com    }
72d3adfadd868b19e2423674bfefa5ba778f743bf2Shriram Ganesh
73d3adfadd868b19e2423674bfefa5ba778f743bf2Shriram Ganesh    /**
74d3adfadd868b19e2423674bfefa5ba778f743bf2Shriram Ganesh     * Called when waiting voice message count changes.
75d3adfadd868b19e2423674bfefa5ba778f743bf2Shriram Ganesh     */
76d3adfadd868b19e2423674bfefa5ba778f743bf2Shriram Ganesh    public void onVoiceMessageCountChanged(int count) {
77d3adfadd868b19e2423674bfefa5ba778f743bf2Shriram Ganesh        // no-op
78d3adfadd868b19e2423674bfefa5ba778f743bf2Shriram Ganesh    }
794de9cbb93b842385b511106fb72cdbfcd59bc3d6Pavel Zhamaitsiak
804de9cbb93b842385b511106fb72cdbfcd59bc3d6Pavel Zhamaitsiak    /**
814de9cbb93b842385b511106fb72cdbfcd59bc3d6Pavel Zhamaitsiak     * Called after IMS registration.
824de9cbb93b842385b511106fb72cdbfcd59bc3d6Pavel Zhamaitsiak     */
834de9cbb93b842385b511106fb72cdbfcd59bc3d6Pavel Zhamaitsiak    public void registrationAssociatedUriChanged(Uri[] uris) {
844de9cbb93b842385b511106fb72cdbfcd59bc3d6Pavel Zhamaitsiak        // no-op
854de9cbb93b842385b511106fb72cdbfcd59bc3d6Pavel Zhamaitsiak    }
86ef36ef67e009449300b0150c60c9f637e205d79eWink Saville}
87