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    /**
37e441415a339670d2ca567e508f2b5806103954b5Meng Wang     * Called when the device is connected to the IMS network with {@param imsRadioTech}.
38e441415a339670d2ca567e508f2b5806103954b5Meng Wang     */
39e441415a339670d2ca567e508f2b5806103954b5Meng Wang    public void onImsConnected(int imsRadioTech) {
40e441415a339670d2ca567e508f2b5806103954b5Meng Wang        // no-op
41e441415a339670d2ca567e508f2b5806103954b5Meng Wang    }
42e441415a339670d2ca567e508f2b5806103954b5Meng Wang
43e441415a339670d2ca567e508f2b5806103954b5Meng Wang    /**
447b72dc2e9dacdb51e998775e8505744a574afb12Rekha Kumar     * Called when the device is trying to connect to the IMS network.
457b72dc2e9dacdb51e998775e8505744a574afb12Rekha Kumar     */
467b72dc2e9dacdb51e998775e8505744a574afb12Rekha Kumar    public void onImsProgressing() {
477b72dc2e9dacdb51e998775e8505744a574afb12Rekha Kumar        // no-op
487b72dc2e9dacdb51e998775e8505744a574afb12Rekha Kumar    }
497b72dc2e9dacdb51e998775e8505744a574afb12Rekha Kumar
507b72dc2e9dacdb51e998775e8505744a574afb12Rekha Kumar    /**
51ef36ef67e009449300b0150c60c9f637e205d79eWink Saville     * Called when the device is disconnected from the IMS network.
52ef36ef67e009449300b0150c60c9f637e205d79eWink Saville     */
537b72dc2e9dacdb51e998775e8505744a574afb12Rekha Kumar    public void onImsDisconnected(ImsReasonInfo imsReasonInfo) {
54ef36ef67e009449300b0150c60c9f637e205d79eWink Saville        // no-op
55ef36ef67e009449300b0150c60c9f637e205d79eWink Saville    }
56ef36ef67e009449300b0150c60c9f637e205d79eWink Saville
57ef36ef67e009449300b0150c60c9f637e205d79eWink Saville    /**
58ef36ef67e009449300b0150c60c9f637e205d79eWink Saville     * Called when its suspended IMS connection is resumed, meaning the connection
59ef36ef67e009449300b0150c60c9f637e205d79eWink Saville     * now allows throughput.
60ef36ef67e009449300b0150c60c9f637e205d79eWink Saville     */
61ef36ef67e009449300b0150c60c9f637e205d79eWink Saville    public void onImsResumed() {
62ef36ef67e009449300b0150c60c9f637e205d79eWink Saville        // no-op
63ef36ef67e009449300b0150c60c9f637e205d79eWink Saville    }
64ef36ef67e009449300b0150c60c9f637e205d79eWink Saville
65ef36ef67e009449300b0150c60c9f637e205d79eWink Saville    /**
66ef36ef67e009449300b0150c60c9f637e205d79eWink Saville     * Called when its current IMS connection is suspended, meaning there is no data throughput.
67ef36ef67e009449300b0150c60c9f637e205d79eWink Saville     */
68ef36ef67e009449300b0150c60c9f637e205d79eWink Saville    public void onImsSuspended() {
69ef36ef67e009449300b0150c60c9f637e205d79eWink Saville        // no-op
70ef36ef67e009449300b0150c60c9f637e205d79eWink Saville    }
71e229678c0502930303de5dfdb939c0214a67d151Libin.Tang@motorola.com
72e229678c0502930303de5dfdb939c0214a67d151Libin.Tang@motorola.com    /**
73e229678c0502930303de5dfdb939c0214a67d151Libin.Tang@motorola.com     * Called when its current IMS connection feature capability changes.
74e229678c0502930303de5dfdb939c0214a67d151Libin.Tang@motorola.com     */
75e229678c0502930303de5dfdb939c0214a67d151Libin.Tang@motorola.com    public void onFeatureCapabilityChanged(int serviceClass,
76e229678c0502930303de5dfdb939c0214a67d151Libin.Tang@motorola.com                int[] enabledFeatures, int[] disabledFeatures) {
77e229678c0502930303de5dfdb939c0214a67d151Libin.Tang@motorola.com        // no-op
78e229678c0502930303de5dfdb939c0214a67d151Libin.Tang@motorola.com    }
79d3adfadd868b19e2423674bfefa5ba778f743bf2Shriram Ganesh
80d3adfadd868b19e2423674bfefa5ba778f743bf2Shriram Ganesh    /**
81d3adfadd868b19e2423674bfefa5ba778f743bf2Shriram Ganesh     * Called when waiting voice message count changes.
82d3adfadd868b19e2423674bfefa5ba778f743bf2Shriram Ganesh     */
83d3adfadd868b19e2423674bfefa5ba778f743bf2Shriram Ganesh    public void onVoiceMessageCountChanged(int count) {
84d3adfadd868b19e2423674bfefa5ba778f743bf2Shriram Ganesh        // no-op
85d3adfadd868b19e2423674bfefa5ba778f743bf2Shriram Ganesh    }
864de9cbb93b842385b511106fb72cdbfcd59bc3d6Pavel Zhamaitsiak
874de9cbb93b842385b511106fb72cdbfcd59bc3d6Pavel Zhamaitsiak    /**
884de9cbb93b842385b511106fb72cdbfcd59bc3d6Pavel Zhamaitsiak     * Called after IMS registration.
894de9cbb93b842385b511106fb72cdbfcd59bc3d6Pavel Zhamaitsiak     */
904de9cbb93b842385b511106fb72cdbfcd59bc3d6Pavel Zhamaitsiak    public void registrationAssociatedUriChanged(Uri[] uris) {
914de9cbb93b842385b511106fb72cdbfcd59bc3d6Pavel Zhamaitsiak        // no-op
924de9cbb93b842385b511106fb72cdbfcd59bc3d6Pavel Zhamaitsiak    }
93e441415a339670d2ca567e508f2b5806103954b5Meng Wang
94e441415a339670d2ca567e508f2b5806103954b5Meng Wang    /**
95e441415a339670d2ca567e508f2b5806103954b5Meng Wang     * Called when IMS registration attempt on {@param imsRadioTech} failed
96e441415a339670d2ca567e508f2b5806103954b5Meng Wang     */
97e441415a339670d2ca567e508f2b5806103954b5Meng Wang    public void onRegistrationChangeFailed(int imsRadioTech, ImsReasonInfo imsReasonInfo) {
98e441415a339670d2ca567e508f2b5806103954b5Meng Wang        // no-op
99e441415a339670d2ca567e508f2b5806103954b5Meng Wang    }
100ef36ef67e009449300b0150c60c9f637e205d79eWink Saville}
101