diff options
author | Garik Badalyan <garikb@codeaurora.org> | 2016-05-05 17:30:55 -0700 |
---|---|---|
committer | Linux Build Service Account <lnxbuild@localhost> | 2016-08-24 08:18:01 -0600 |
commit | d47747eb1667aa804b64a4136651c2f80bb6289f (patch) | |
tree | 925f88ddeab534adcb1621bbe8c0b8c2b058b703 | |
parent | 62ecca772f259d5266cce17acdbbbc25815f61a4 (diff) | |
download | android_packages_apps_Dialer-d47747eb1667aa804b64a4136651c2f80bb6289f.tar.gz android_packages_apps_Dialer-d47747eb1667aa804b64a4136651c2f80bb6289f.tar.bz2 android_packages_apps_Dialer-d47747eb1667aa804b64a4136651c2f80bb6289f.zip |
IMS-VT: Display video call related user notification messages on UI
- Display video quality changed indication to the user when
it changes
- Display player state indication to user when player/camera
status changes (video starts/stops or camera is not ready/failing)
- Display data usage changed to the user when call ends
IMS-VT: Remove call id from call substate/quality toast mesaages
- Remove call id from the toast messages as it's incorrect. Since
we are displaying toasts only for the primary call, we are good
- Change the resource strings accordingly
IMS: Control display of player, video quality, data usage toasts.
Add configuration flags to control the display of player
start/stop, video quality and data usage toasts during VT Call.
IMS-VT: Detect call substate changes and notify the message controller
- Add a listener for listening to call details changed and parse the
extras for detecting changes in call substate
- Once call substate change is detected, notify the InCall message
controller which displays a Toast.
- Add a new qtistrings.xml file for all Qti strings. Add call substate
string resources in it.
Change-Id: I02b62dff707ae7ad5c8ba5e03d1b238fef7459cf
33 files changed, 1410 insertions, 4 deletions
diff --git a/Android.mk b/Android.mk index eb6cbdc37..f4ef455b3 100644 --- a/Android.mk +++ b/Android.mk @@ -56,7 +56,8 @@ LOCAL_STATIC_JAVA_LIBRARIES := \ android-support-design \ com.android.vcard \ guava \ - libphonenumber + libphonenumber \ + ims-ext-common LOCAL_PACKAGE_NAME := Dialer LOCAL_CERTIFICATE := shared diff --git a/InCallUI/res/values-mcc405-mnc840/qticonfig.xml b/InCallUI/res/values-mcc405-mnc840/qticonfig.xml new file mode 100644 index 000000000..978755b58 --- /dev/null +++ b/InCallUI/res/values-mcc405-mnc840/qticonfig.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (c) 2016, The Linux Foundation. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of The Linux Foundation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +--> + +<resources> + + <!-- RJIL specific settings --> + + <!-- Config to show/hide Video quality toast --> + <bool name="config_display_video_quality_toast">false</bool> + <!-- Config to show/hide call session event toast like player start/stop --> + <bool name="config_call_session_event_toast">false</bool> + <!-- Config to show/hide data usage toast --> + <bool name="config_display_data_usage_toast">false</bool> + +</resources> diff --git a/InCallUI/res/values-mcc405-mnc854/qticonfig.xml b/InCallUI/res/values-mcc405-mnc854/qticonfig.xml new file mode 100644 index 000000000..978755b58 --- /dev/null +++ b/InCallUI/res/values-mcc405-mnc854/qticonfig.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (c) 2016, The Linux Foundation. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of The Linux Foundation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +--> + +<resources> + + <!-- RJIL specific settings --> + + <!-- Config to show/hide Video quality toast --> + <bool name="config_display_video_quality_toast">false</bool> + <!-- Config to show/hide call session event toast like player start/stop --> + <bool name="config_call_session_event_toast">false</bool> + <!-- Config to show/hide data usage toast --> + <bool name="config_display_data_usage_toast">false</bool> + +</resources> diff --git a/InCallUI/res/values-mcc405-mnc855/qticonfig.xml b/InCallUI/res/values-mcc405-mnc855/qticonfig.xml new file mode 100644 index 000000000..978755b58 --- /dev/null +++ b/InCallUI/res/values-mcc405-mnc855/qticonfig.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (c) 2016, The Linux Foundation. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of The Linux Foundation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +--> + +<resources> + + <!-- RJIL specific settings --> + + <!-- Config to show/hide Video quality toast --> + <bool name="config_display_video_quality_toast">false</bool> + <!-- Config to show/hide call session event toast like player start/stop --> + <bool name="config_call_session_event_toast">false</bool> + <!-- Config to show/hide data usage toast --> + <bool name="config_display_data_usage_toast">false</bool> + +</resources> diff --git a/InCallUI/res/values-mcc405-mnc856/qticonfig.xml b/InCallUI/res/values-mcc405-mnc856/qticonfig.xml new file mode 100644 index 000000000..978755b58 --- /dev/null +++ b/InCallUI/res/values-mcc405-mnc856/qticonfig.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (c) 2016, The Linux Foundation. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of The Linux Foundation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +--> + +<resources> + + <!-- RJIL specific settings --> + + <!-- Config to show/hide Video quality toast --> + <bool name="config_display_video_quality_toast">false</bool> + <!-- Config to show/hide call session event toast like player start/stop --> + <bool name="config_call_session_event_toast">false</bool> + <!-- Config to show/hide data usage toast --> + <bool name="config_display_data_usage_toast">false</bool> + +</resources> diff --git a/InCallUI/res/values-mcc405-mnc857/qticonfig.xml b/InCallUI/res/values-mcc405-mnc857/qticonfig.xml new file mode 100644 index 000000000..978755b58 --- /dev/null +++ b/InCallUI/res/values-mcc405-mnc857/qticonfig.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (c) 2016, The Linux Foundation. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of The Linux Foundation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +--> + +<resources> + + <!-- RJIL specific settings --> + + <!-- Config to show/hide Video quality toast --> + <bool name="config_display_video_quality_toast">false</bool> + <!-- Config to show/hide call session event toast like player start/stop --> + <bool name="config_call_session_event_toast">false</bool> + <!-- Config to show/hide data usage toast --> + <bool name="config_display_data_usage_toast">false</bool> + +</resources> diff --git a/InCallUI/res/values-mcc405-mnc858/qticonfig.xml b/InCallUI/res/values-mcc405-mnc858/qticonfig.xml new file mode 100644 index 000000000..978755b58 --- /dev/null +++ b/InCallUI/res/values-mcc405-mnc858/qticonfig.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (c) 2016, The Linux Foundation. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of The Linux Foundation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +--> + +<resources> + + <!-- RJIL specific settings --> + + <!-- Config to show/hide Video quality toast --> + <bool name="config_display_video_quality_toast">false</bool> + <!-- Config to show/hide call session event toast like player start/stop --> + <bool name="config_call_session_event_toast">false</bool> + <!-- Config to show/hide data usage toast --> + <bool name="config_display_data_usage_toast">false</bool> + +</resources> diff --git a/InCallUI/res/values-mcc405-mnc859/qticonfig.xml b/InCallUI/res/values-mcc405-mnc859/qticonfig.xml new file mode 100644 index 000000000..978755b58 --- /dev/null +++ b/InCallUI/res/values-mcc405-mnc859/qticonfig.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (c) 2016, The Linux Foundation. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of The Linux Foundation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +--> + +<resources> + + <!-- RJIL specific settings --> + + <!-- Config to show/hide Video quality toast --> + <bool name="config_display_video_quality_toast">false</bool> + <!-- Config to show/hide call session event toast like player start/stop --> + <bool name="config_call_session_event_toast">false</bool> + <!-- Config to show/hide data usage toast --> + <bool name="config_display_data_usage_toast">false</bool> + +</resources> diff --git a/InCallUI/res/values-mcc405-mnc860/qticonfig.xml b/InCallUI/res/values-mcc405-mnc860/qticonfig.xml new file mode 100644 index 000000000..978755b58 --- /dev/null +++ b/InCallUI/res/values-mcc405-mnc860/qticonfig.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (c) 2016, The Linux Foundation. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of The Linux Foundation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +--> + +<resources> + + <!-- RJIL specific settings --> + + <!-- Config to show/hide Video quality toast --> + <bool name="config_display_video_quality_toast">false</bool> + <!-- Config to show/hide call session event toast like player start/stop --> + <bool name="config_call_session_event_toast">false</bool> + <!-- Config to show/hide data usage toast --> + <bool name="config_display_data_usage_toast">false</bool> + +</resources> diff --git a/InCallUI/res/values-mcc405-mnc861/qticonfig.xml b/InCallUI/res/values-mcc405-mnc861/qticonfig.xml new file mode 100644 index 000000000..978755b58 --- /dev/null +++ b/InCallUI/res/values-mcc405-mnc861/qticonfig.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (c) 2016, The Linux Foundation. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of The Linux Foundation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +--> + +<resources> + + <!-- RJIL specific settings --> + + <!-- Config to show/hide Video quality toast --> + <bool name="config_display_video_quality_toast">false</bool> + <!-- Config to show/hide call session event toast like player start/stop --> + <bool name="config_call_session_event_toast">false</bool> + <!-- Config to show/hide data usage toast --> + <bool name="config_display_data_usage_toast">false</bool> + +</resources> diff --git a/InCallUI/res/values-mcc405-mnc862/qticonfig.xml b/InCallUI/res/values-mcc405-mnc862/qticonfig.xml new file mode 100644 index 000000000..978755b58 --- /dev/null +++ b/InCallUI/res/values-mcc405-mnc862/qticonfig.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (c) 2016, The Linux Foundation. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of The Linux Foundation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +--> + +<resources> + + <!-- RJIL specific settings --> + + <!-- Config to show/hide Video quality toast --> + <bool name="config_display_video_quality_toast">false</bool> + <!-- Config to show/hide call session event toast like player start/stop --> + <bool name="config_call_session_event_toast">false</bool> + <!-- Config to show/hide data usage toast --> + <bool name="config_display_data_usage_toast">false</bool> + +</resources> diff --git a/InCallUI/res/values-mcc405-mnc863/qticonfig.xml b/InCallUI/res/values-mcc405-mnc863/qticonfig.xml new file mode 100644 index 000000000..978755b58 --- /dev/null +++ b/InCallUI/res/values-mcc405-mnc863/qticonfig.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (c) 2016, The Linux Foundation. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of The Linux Foundation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +--> + +<resources> + + <!-- RJIL specific settings --> + + <!-- Config to show/hide Video quality toast --> + <bool name="config_display_video_quality_toast">false</bool> + <!-- Config to show/hide call session event toast like player start/stop --> + <bool name="config_call_session_event_toast">false</bool> + <!-- Config to show/hide data usage toast --> + <bool name="config_display_data_usage_toast">false</bool> + +</resources> diff --git a/InCallUI/res/values-mcc405-mnc864/qticonfig.xml b/InCallUI/res/values-mcc405-mnc864/qticonfig.xml new file mode 100644 index 000000000..978755b58 --- /dev/null +++ b/InCallUI/res/values-mcc405-mnc864/qticonfig.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (c) 2016, The Linux Foundation. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of The Linux Foundation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +--> + +<resources> + + <!-- RJIL specific settings --> + + <!-- Config to show/hide Video quality toast --> + <bool name="config_display_video_quality_toast">false</bool> + <!-- Config to show/hide call session event toast like player start/stop --> + <bool name="config_call_session_event_toast">false</bool> + <!-- Config to show/hide data usage toast --> + <bool name="config_display_data_usage_toast">false</bool> + +</resources> diff --git a/InCallUI/res/values-mcc405-mnc865/qticonfig.xml b/InCallUI/res/values-mcc405-mnc865/qticonfig.xml new file mode 100644 index 000000000..978755b58 --- /dev/null +++ b/InCallUI/res/values-mcc405-mnc865/qticonfig.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (c) 2016, The Linux Foundation. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of The Linux Foundation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +--> + +<resources> + + <!-- RJIL specific settings --> + + <!-- Config to show/hide Video quality toast --> + <bool name="config_display_video_quality_toast">false</bool> + <!-- Config to show/hide call session event toast like player start/stop --> + <bool name="config_call_session_event_toast">false</bool> + <!-- Config to show/hide data usage toast --> + <bool name="config_display_data_usage_toast">false</bool> + +</resources> diff --git a/InCallUI/res/values-mcc405-mnc866/qticonfig.xml b/InCallUI/res/values-mcc405-mnc866/qticonfig.xml new file mode 100644 index 000000000..978755b58 --- /dev/null +++ b/InCallUI/res/values-mcc405-mnc866/qticonfig.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (c) 2016, The Linux Foundation. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of The Linux Foundation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +--> + +<resources> + + <!-- RJIL specific settings --> + + <!-- Config to show/hide Video quality toast --> + <bool name="config_display_video_quality_toast">false</bool> + <!-- Config to show/hide call session event toast like player start/stop --> + <bool name="config_call_session_event_toast">false</bool> + <!-- Config to show/hide data usage toast --> + <bool name="config_display_data_usage_toast">false</bool> + +</resources> diff --git a/InCallUI/res/values-mcc405-mnc867/qticonfig.xml b/InCallUI/res/values-mcc405-mnc867/qticonfig.xml new file mode 100644 index 000000000..978755b58 --- /dev/null +++ b/InCallUI/res/values-mcc405-mnc867/qticonfig.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (c) 2016, The Linux Foundation. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of The Linux Foundation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +--> + +<resources> + + <!-- RJIL specific settings --> + + <!-- Config to show/hide Video quality toast --> + <bool name="config_display_video_quality_toast">false</bool> + <!-- Config to show/hide call session event toast like player start/stop --> + <bool name="config_call_session_event_toast">false</bool> + <!-- Config to show/hide data usage toast --> + <bool name="config_display_data_usage_toast">false</bool> + +</resources> diff --git a/InCallUI/res/values-mcc405-mnc868/qticonfig.xml b/InCallUI/res/values-mcc405-mnc868/qticonfig.xml new file mode 100644 index 000000000..978755b58 --- /dev/null +++ b/InCallUI/res/values-mcc405-mnc868/qticonfig.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (c) 2016, The Linux Foundation. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of The Linux Foundation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +--> + +<resources> + + <!-- RJIL specific settings --> + + <!-- Config to show/hide Video quality toast --> + <bool name="config_display_video_quality_toast">false</bool> + <!-- Config to show/hide call session event toast like player start/stop --> + <bool name="config_call_session_event_toast">false</bool> + <!-- Config to show/hide data usage toast --> + <bool name="config_display_data_usage_toast">false</bool> + +</resources> diff --git a/InCallUI/res/values-mcc405-mnc869/qticonfig.xml b/InCallUI/res/values-mcc405-mnc869/qticonfig.xml new file mode 100644 index 000000000..978755b58 --- /dev/null +++ b/InCallUI/res/values-mcc405-mnc869/qticonfig.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (c) 2016, The Linux Foundation. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of The Linux Foundation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +--> + +<resources> + + <!-- RJIL specific settings --> + + <!-- Config to show/hide Video quality toast --> + <bool name="config_display_video_quality_toast">false</bool> + <!-- Config to show/hide call session event toast like player start/stop --> + <bool name="config_call_session_event_toast">false</bool> + <!-- Config to show/hide data usage toast --> + <bool name="config_display_data_usage_toast">false</bool> + +</resources> diff --git a/InCallUI/res/values-mcc405-mnc870/qticonfig.xml b/InCallUI/res/values-mcc405-mnc870/qticonfig.xml new file mode 100644 index 000000000..978755b58 --- /dev/null +++ b/InCallUI/res/values-mcc405-mnc870/qticonfig.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (c) 2016, The Linux Foundation. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of The Linux Foundation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +--> + +<resources> + + <!-- RJIL specific settings --> + + <!-- Config to show/hide Video quality toast --> + <bool name="config_display_video_quality_toast">false</bool> + <!-- Config to show/hide call session event toast like player start/stop --> + <bool name="config_call_session_event_toast">false</bool> + <!-- Config to show/hide data usage toast --> + <bool name="config_display_data_usage_toast">false</bool> + +</resources> diff --git a/InCallUI/res/values-mcc405-mnc871/qticonfig.xml b/InCallUI/res/values-mcc405-mnc871/qticonfig.xml new file mode 100644 index 000000000..978755b58 --- /dev/null +++ b/InCallUI/res/values-mcc405-mnc871/qticonfig.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (c) 2016, The Linux Foundation. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of The Linux Foundation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +--> + +<resources> + + <!-- RJIL specific settings --> + + <!-- Config to show/hide Video quality toast --> + <bool name="config_display_video_quality_toast">false</bool> + <!-- Config to show/hide call session event toast like player start/stop --> + <bool name="config_call_session_event_toast">false</bool> + <!-- Config to show/hide data usage toast --> + <bool name="config_display_data_usage_toast">false</bool> + +</resources> diff --git a/InCallUI/res/values-mcc405-mnc872/qticonfig.xml b/InCallUI/res/values-mcc405-mnc872/qticonfig.xml new file mode 100644 index 000000000..978755b58 --- /dev/null +++ b/InCallUI/res/values-mcc405-mnc872/qticonfig.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (c) 2016, The Linux Foundation. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of The Linux Foundation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +--> + +<resources> + + <!-- RJIL specific settings --> + + <!-- Config to show/hide Video quality toast --> + <bool name="config_display_video_quality_toast">false</bool> + <!-- Config to show/hide call session event toast like player start/stop --> + <bool name="config_call_session_event_toast">false</bool> + <!-- Config to show/hide data usage toast --> + <bool name="config_display_data_usage_toast">false</bool> + +</resources> diff --git a/InCallUI/res/values-mcc405-mnc873/qticonfig.xml b/InCallUI/res/values-mcc405-mnc873/qticonfig.xml new file mode 100644 index 000000000..978755b58 --- /dev/null +++ b/InCallUI/res/values-mcc405-mnc873/qticonfig.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (c) 2016, The Linux Foundation. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of The Linux Foundation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +--> + +<resources> + + <!-- RJIL specific settings --> + + <!-- Config to show/hide Video quality toast --> + <bool name="config_display_video_quality_toast">false</bool> + <!-- Config to show/hide call session event toast like player start/stop --> + <bool name="config_call_session_event_toast">false</bool> + <!-- Config to show/hide data usage toast --> + <bool name="config_display_data_usage_toast">false</bool> + +</resources> diff --git a/InCallUI/res/values-mcc405-mnc874/qticonfig.xml b/InCallUI/res/values-mcc405-mnc874/qticonfig.xml new file mode 100644 index 000000000..978755b58 --- /dev/null +++ b/InCallUI/res/values-mcc405-mnc874/qticonfig.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (c) 2016, The Linux Foundation. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of The Linux Foundation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +--> + +<resources> + + <!-- RJIL specific settings --> + + <!-- Config to show/hide Video quality toast --> + <bool name="config_display_video_quality_toast">false</bool> + <!-- Config to show/hide call session event toast like player start/stop --> + <bool name="config_call_session_event_toast">false</bool> + <!-- Config to show/hide data usage toast --> + <bool name="config_display_data_usage_toast">false</bool> + +</resources> diff --git a/InCallUI/res/values-mcc460-mnc00/qticonfig.xml b/InCallUI/res/values-mcc460-mnc00/qticonfig.xml new file mode 100644 index 000000000..aed87f381 --- /dev/null +++ b/InCallUI/res/values-mcc460-mnc00/qticonfig.xml @@ -0,0 +1,36 @@ +<!-- + ~ Copyright (c) 2015, 2016, The Linux Foundation. All rights reserved. + ~ + ~ Redistribution and use in source and binary forms, with or without + ~ modification, are permitted provided that the following conditions are + ~ met: + ~ * Redistributions of source code must retain the above copyright + ~ notice, this list of conditions and the following disclaimer. + ~ * Redistributions in binary form must reproduce the above + ~ copyright notice, this list of conditions and the following + ~ disclaimer in the documentation and/or other materials provided + ~ with the distribution. + ~ * Neither the name of The Linux Foundation nor the names of its + ~ contributors may be used to endorse or promote products derived + ~ from this software without specific prior written permission. + ~ + ~ THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + ~ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + ~ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + ~ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + ~ BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + ~ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + ~ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + ~ BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + ~ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + ~ OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + ~ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + --> +<resources> + <!-- Config to show/hide Video quality toast --> + <bool name="config_display_video_quality_toast">false</bool> + <!-- Config to show/hide call session event toast like player start/stop --> + <bool name="config_call_session_event_toast">false</bool> + <!-- Config to show/hide data usage toast --> + <bool name="config_display_data_usage_toast">false</bool> +</resources> diff --git a/InCallUI/res/values-mcc460-mnc02/qticonfig.xml b/InCallUI/res/values-mcc460-mnc02/qticonfig.xml new file mode 100644 index 000000000..b23505adf --- /dev/null +++ b/InCallUI/res/values-mcc460-mnc02/qticonfig.xml @@ -0,0 +1,36 @@ +<!-- + ~ Copyright (c) 2015,2016, The Linux Foundation. All rights reserved. + ~ + ~ Redistribution and use in source and binary forms, with or without + ~ modification, are permitted provided that the following conditions are + ~ met: + ~ * Redistributions of source code must retain the above copyright + ~ notice, this list of conditions and the following disclaimer. + ~ * Redistributions in binary form must reproduce the above + ~ copyright notice, this list of conditions and the following + ~ disclaimer in the documentation and/or other materials provided + ~ with the distribution. + ~ * Neither the name of The Linux Foundation nor the names of its + ~ contributors may be used to endorse or promote products derived + ~ from this software without specific prior written permission. + ~ + ~ THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + ~ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + ~ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + ~ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + ~ BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + ~ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + ~ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + ~ BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + ~ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + ~ OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + ~ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + --> +<resources> + <!-- Config to show/hide Video quality toast --> + <bool name="config_display_video_quality_toast">false</bool> + <!-- Config to show/hide call session event toast like player start/stop --> + <bool name="config_call_session_event_toast">false</bool> + <!-- Config to show/hide data usage toast --> + <bool name="config_display_data_usage_toast">false</bool> +</resources> diff --git a/InCallUI/res/values-mcc460-mnc07/qticonfig.xml b/InCallUI/res/values-mcc460-mnc07/qticonfig.xml new file mode 100644 index 000000000..aed87f381 --- /dev/null +++ b/InCallUI/res/values-mcc460-mnc07/qticonfig.xml @@ -0,0 +1,36 @@ +<!-- + ~ Copyright (c) 2015, 2016, The Linux Foundation. All rights reserved. + ~ + ~ Redistribution and use in source and binary forms, with or without + ~ modification, are permitted provided that the following conditions are + ~ met: + ~ * Redistributions of source code must retain the above copyright + ~ notice, this list of conditions and the following disclaimer. + ~ * Redistributions in binary form must reproduce the above + ~ copyright notice, this list of conditions and the following + ~ disclaimer in the documentation and/or other materials provided + ~ with the distribution. + ~ * Neither the name of The Linux Foundation nor the names of its + ~ contributors may be used to endorse or promote products derived + ~ from this software without specific prior written permission. + ~ + ~ THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + ~ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + ~ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + ~ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + ~ BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + ~ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + ~ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + ~ BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + ~ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + ~ OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + ~ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + --> +<resources> + <!-- Config to show/hide Video quality toast --> + <bool name="config_display_video_quality_toast">false</bool> + <!-- Config to show/hide call session event toast like player start/stop --> + <bool name="config_call_session_event_toast">false</bool> + <!-- Config to show/hide data usage toast --> + <bool name="config_display_data_usage_toast">false</bool> +</resources> diff --git a/InCallUI/res/values-mcc460-mnc08/qticonfig.xml b/InCallUI/res/values-mcc460-mnc08/qticonfig.xml new file mode 100644 index 000000000..aed87f381 --- /dev/null +++ b/InCallUI/res/values-mcc460-mnc08/qticonfig.xml @@ -0,0 +1,36 @@ +<!-- + ~ Copyright (c) 2015, 2016, The Linux Foundation. All rights reserved. + ~ + ~ Redistribution and use in source and binary forms, with or without + ~ modification, are permitted provided that the following conditions are + ~ met: + ~ * Redistributions of source code must retain the above copyright + ~ notice, this list of conditions and the following disclaimer. + ~ * Redistributions in binary form must reproduce the above + ~ copyright notice, this list of conditions and the following + ~ disclaimer in the documentation and/or other materials provided + ~ with the distribution. + ~ * Neither the name of The Linux Foundation nor the names of its + ~ contributors may be used to endorse or promote products derived + ~ from this software without specific prior written permission. + ~ + ~ THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + ~ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + ~ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + ~ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + ~ BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + ~ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + ~ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + ~ BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + ~ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + ~ OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + ~ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + --> +<resources> + <!-- Config to show/hide Video quality toast --> + <bool name="config_display_video_quality_toast">false</bool> + <!-- Config to show/hide call session event toast like player start/stop --> + <bool name="config_call_session_event_toast">false</bool> + <!-- Config to show/hide data usage toast --> + <bool name="config_display_data_usage_toast">false</bool> +</resources> diff --git a/InCallUI/res/values/qticonfig.xml b/InCallUI/res/values/qticonfig.xml index b822b2a4e..d42a691d8 100644 --- a/InCallUI/res/values/qticonfig.xml +++ b/InCallUI/res/values/qticonfig.xml @@ -1,5 +1,5 @@ <!-- - ~ Copyright (c) 2015, 2016 The Linux Foundation. All rights reserved. + ~ Copyright (c) 2015, 2016, The Linux Foundation. All rights reserved. ~ ~ Redistribution and use in source and binary forms, with or without ~ modification, are permitted provided that the following conditions are @@ -29,4 +29,10 @@ <resources> <!-- Determines UI extensions for video calls should be used. --> <bool name="video_call_use_ext">true</bool> + <!-- Config to show/hide Video quality toast --> + <bool name="config_display_video_quality_toast">true</bool> + <!-- Config to show/hide call session event toast like player start/stop --> + <bool name="config_call_session_event_toast">true</bool> + <!-- Config to show/hide data usage toast --> + <bool name="config_display_data_usage_toast">true</bool> </resources> diff --git a/InCallUI/res/values/qtistrings.xml b/InCallUI/res/values/qtistrings.xml index e2ba3c348..f87a1897d 100644 --- a/InCallUI/res/values/qtistrings.xml +++ b/InCallUI/res/values/qtistrings.xml @@ -32,7 +32,7 @@ <!-- The xml contains Qti specific resource strings neede for any value added features. --> <resources> <!-- Call substate label --> - <string name="call_substate_label"> : Call substate - \u000a</string> + <string name="call_substate_label"> Call substate - \u000a</string> <!-- Call substate label for call resumed --> <string name="call_substate_call_resumed">Resumed \u000a</string> <!-- Call substate label for call connected suspended (audio) --> @@ -43,7 +43,7 @@ <string name="call_substate_avp_retry">Avp Retry \u000a</string> <!-- Video quality changed message --> - <string name="video_quality_changed"> : Video quality changed to \u0020</string> + <string name="video_quality_changed"> Video quality changed to \u0020</string> <!-- Video quality High --> <string name="video_quality_high">High</string> <!-- Video quality Medium --> diff --git a/InCallUI/src/com/android/incallui/CallSubstateNotifier.java b/InCallUI/src/com/android/incallui/CallSubstateNotifier.java new file mode 100644 index 000000000..7d9cdee6b --- /dev/null +++ b/InCallUI/src/com/android/incallui/CallSubstateNotifier.java @@ -0,0 +1,114 @@ +/* Copyright (c) 2015, 2016, The Linux Foundation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of The Linux Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.android.incallui; + +import org.codeaurora.ims.QtiCallConstants; +import android.os.Bundle; +import java.util.concurrent.CopyOnWriteArrayList; +import java.util.List; + +import com.google.common.base.Preconditions; +import com.android.incallui.InCallPresenter.InCallDetailsListener; + +/** + * This class listens to incoming events from the {@class InCallDetailsListener}. + * When call details change, this class is notified and we parse the extras from the details to + * figure out if call substate has changed and notify the {@class InCallMessageController} to + * display the indication on UI. + * + */ +public class CallSubstateNotifier implements InCallDetailsListener { + + private final List<InCallSubstateListener> mCallSubstateListeners = + new CopyOnWriteArrayList<>(); + + private static CallSubstateNotifier sCallSubstateNotifier; + private int mCallSubstate = QtiCallConstants.CALL_SUBSTATE_NONE; + + /** + * This method returns a singleton instance of {@class CallSubstateNotifier} + */ + public static synchronized CallSubstateNotifier getInstance() { + if (sCallSubstateNotifier == null) { + sCallSubstateNotifier = new CallSubstateNotifier(); + } + return sCallSubstateNotifier; + } + + /** + * This method adds a new call substate listener. Users interested in listening to call + * substate changes should add a listener of type {@class InCallSubstateListener} + */ + public void addListener(InCallSubstateListener listener) { + Preconditions.checkNotNull(listener); + mCallSubstateListeners.add(listener); + } + + /** + * This method removes an existing call substate listener. Users listening to call + * substate changes when not interested any more can de-register an existing listener of type + * {@class InCallSubstateListener} + */ + public void removeListener(InCallSubstateListener listener) { + if (listener != null) { + mCallSubstateListeners.remove(listener); + } else { + Log.e(this, "Can't remove null listener"); + } + } + + /** + * Private constructor. Must use getInstance() to get this singleton. + */ + private CallSubstateNotifier() { + } + + /** + * This method overrides onDetailsChanged method of {@class InCallDetailsListener}. We are + * notified when call details change and extract the call substate from the extras, detect if + * call substate changed and notify all registered listeners. + */ + @Override + public void onDetailsChanged(Call call, android.telecom.Call.Details details) { + Log.d(this, "onDetailsChanged - call: " + call + "details: " + details); + final Bundle extras = (call != null && details != null) ? details.getExtras() : null; + final int callSubstate = (extras != null) ? extras.getInt( + QtiCallConstants.CALL_SUBSTATE_EXTRA_KEY, + QtiCallConstants.CALL_SUBSTATE_NONE) : + QtiCallConstants.CALL_SUBSTATE_NONE; + + if (callSubstate != mCallSubstate) { + mCallSubstate = callSubstate; + Preconditions.checkNotNull(mCallSubstateListeners); + for (InCallSubstateListener listener : mCallSubstateListeners) { + listener.onCallSubstateChanged(call, mCallSubstate); + } + } + } +} diff --git a/InCallUI/src/com/android/incallui/InCallMessageController.java b/InCallUI/src/com/android/incallui/InCallMessageController.java new file mode 100644 index 000000000..73f67e448 --- /dev/null +++ b/InCallUI/src/com/android/incallui/InCallMessageController.java @@ -0,0 +1,197 @@ +/* Copyright (c) 2015, 2016, The Linux Foundation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of The Linux Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.android.incallui; + +import android.content.Context; +import android.content.res.Resources; + +import org.codeaurora.ims.QtiCallConstants; +import com.android.incallui.InCallPresenter.InCallDetailsListener; +import com.android.incallui.InCallVideoCallCallbackNotifier.VideoEventListener; + + +/** + * This class listens to incoming events for the listener classes it implements. It should + * handle all UI notification to be shown to the user for any indication that is required to be + * shown like call substate indication, video quality indication, etc. + * For e.g., this class implements {@class InCallSubstateListener} and when call substate changes, + * {@class CallSubstateNotifier} notifies it through the onCallSubstateChanged callback. + */ +public class InCallMessageController implements InCallSubstateListener, VideoEventListener { + + private static InCallMessageController sInCallMessageController; + private Context mContext; + + /** + * Private constructor. Must use getInstance() to get this singleton. + */ + private InCallMessageController() { + } + + /** + * Handles set up of the {@class InCallSubstateListener}. Instantiates the context needed by + * the class and adds a listener to listen to call substate changes. + */ + public void setUp(Context context) { + mContext = context; + CallSubstateNotifier.getInstance().addListener(this); + InCallVideoCallCallbackNotifier.getInstance().addVideoEventListener(this); + } + + /** + * Handles tear down of the {@class InCallSubstateListener}. Sets the context to null and + * unregisters it's call substate listener. + */ + public void tearDown() { + mContext = null; + CallSubstateNotifier.getInstance().removeListener(this); + InCallVideoCallCallbackNotifier.getInstance().removeVideoEventListener(this); + } + + /** + * This method returns a singleton instance of {@class InCallMessageController} + */ + public static synchronized InCallMessageController getInstance() { + if (sInCallMessageController == null) { + sInCallMessageController = new InCallMessageController(); + } + return sInCallMessageController; + } + + /** + * This method overrides onCallSubstateChanged method of {@interface InCallSubstateListener} + * We are notified when call substate changes and display a toast message on the UI. + */ + @Override + public void onCallSubstateChanged(final Call call, final int callSubstate) { + Log.d(this, "onCallSubstateChanged - Call : " + call + " call substate changed to " + + callSubstate); + + if (mContext == null) { + Log.e(this, "onCallSubstateChanged - Context is null. Return"); + return; + } + + String callSubstateChangedText = ""; + + if (QtiCallUtils.isEnabled( + QtiCallConstants.CALL_SUBSTATE_AUDIO_CONNECTED_SUSPENDED, callSubstate)) { + callSubstateChangedText += + mContext.getResources().getString( + R.string.call_substate_connected_suspended_audio); + } + + if (QtiCallUtils.isEnabled( + QtiCallConstants.CALL_SUBSTATE_VIDEO_CONNECTED_SUSPENDED, callSubstate)) { + callSubstateChangedText += + mContext.getResources().getString( + R.string.call_substate_connected_suspended_video); + } + + if (QtiCallUtils.isEnabled(QtiCallConstants.CALL_SUBSTATE_AVP_RETRY, callSubstate)) { + callSubstateChangedText += + mContext.getResources().getString(R.string.call_substate_avp_retry); + } + + if (QtiCallUtils.isNotEnabled(QtiCallConstants.CALL_SUBSTATE_ALL, callSubstate)) { + callSubstateChangedText = + mContext.getResources().getString(R.string.call_substate_call_resumed); + } + + if (!callSubstateChangedText.isEmpty()) { + String callSubstateLabelText = mContext.getResources().getString( + R.string.call_substate_label); + QtiCallUtils.displayToast(mContext, callSubstateLabelText + callSubstateChangedText); + } + } + + /** + * This method overrides onVideoQualityChanged method of {@interface VideoEventListener} + * We are notified when video quality of the call changed and display a message on the UI. + */ + @Override + public void onVideoQualityChanged(final Call call, final int videoQuality) { + Log.d(this, "Call : " + call + " onVideoQualityChanged. Video quality changed to " + + videoQuality); + + if (mContext == null) { + Log.e(this, "onVideoQualityChanged - Context is null. Return"); + return; + } + final Resources resources = mContext.getResources(); + if (resources.getBoolean(R.bool.config_display_video_quality_toast)) { + final String videoQualityChangedText = resources.getString( + R.string.video_quality_changed) + resources.getString( + QtiCallUtils.getVideoQualityResourceId(videoQuality)); + QtiCallUtils.displayToast(mContext, videoQualityChangedText); + } + } + + /** + * This method overrides onCallSessionEvent method of {@interface VideoEventListener} + * We are notified when a new call session event is sent and display a message on the UI. + */ + @Override + public void onCallSessionEvent(final int event) { + Log.d(this, "onCallSessionEvent: event = " + event); + + if (mContext == null) { + Log.e(this, "onCallSessionEvent - Context is null. Return"); + return; + } + final Resources resources = mContext.getResources(); + if (resources.getBoolean(R.bool.config_call_session_event_toast)) { + QtiCallUtils.displayToast(mContext, QtiCallUtils.getCallSessionResourceId(event)); + } + } + + /** + * This method overrides onCallDataUsageChange method of {@interface VideoEventListener} + * We are notified when data usage is changed and display a message on the UI. + */ + @Override + public void onCallDataUsageChange(final long dataUsage) { + Log.d(this, "onCallDataUsageChange: dataUsage = " + dataUsage); + final Resources resources = mContext.getResources(); + if (resources.getBoolean(R.bool.config_display_data_usage_toast)) { + final String dataUsageChangedText = mContext.getResources().getString( + R.string.data_usage_label) + dataUsage; + QtiCallUtils.displayToast(mContext, dataUsageChangedText); + } + } + + /** + * This method overrides onPeerPauseStateChanged method of {@interface VideoEventListener} + * Added for completeness. No implementation yet. + */ + @Override + public void onPeerPauseStateChanged(final Call call, final boolean paused) { + //no-op + } +} diff --git a/InCallUI/src/com/android/incallui/InCallPresenter.java b/InCallUI/src/com/android/incallui/InCallPresenter.java index 12b90b2a4..11de50274 100644 --- a/InCallUI/src/com/android/incallui/InCallPresenter.java +++ b/InCallUI/src/com/android/incallui/InCallPresenter.java @@ -345,6 +345,9 @@ public class InCallPresenter implements CallList.Listener, mTelephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_CALL_STATE); mCallList.setFilteredNumberQueryHandler(mFilteredQueryHandler); + InCallMessageController.getInstance().setUp(mContext); + addDetailsListener(CallSubstateNotifier.getInstance()); + Log.d(this, "Finished InCallPresenter.setUp"); } @@ -366,6 +369,9 @@ public class InCallPresenter implements CallList.Listener, mTelephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE); VideoPauseController.getInstance().tearDown(); InCallVideoCallCallbackNotifier.getInstance().removeSessionModificationListener(this); + + InCallMessageController.getInstance().tearDown(); + removeDetailsListener(CallSubstateNotifier.getInstance()); } private void attemptFinishActivity() { diff --git a/InCallUI/src/com/android/incallui/InCallSubstateListener.java b/InCallUI/src/com/android/incallui/InCallSubstateListener.java new file mode 100644 index 000000000..20449c495 --- /dev/null +++ b/InCallUI/src/com/android/incallui/InCallSubstateListener.java @@ -0,0 +1,36 @@ +/* Copyright (c) 2015, The Linux Foundation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of The Linux Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.android.incallui; + +/** + * This interface will be implemented by classes that wish to listen to call substate changes. + */ +public interface InCallSubstateListener { + public void onCallSubstateChanged(final Call call, final int callSubstate); +} |