1 /* 2 * Copyright (C) 2021 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.android.systemui.telephony; 18 19 import static com.google.common.truth.Truth.assertThat; 20 21 import android.telephony.TelephonyCallback.ActiveDataSubscriptionIdListener; 22 import android.telephony.TelephonyCallback.CallStateListener; 23 import android.telephony.TelephonyCallback.ServiceStateListener; 24 25 import androidx.test.filters.SmallTest; 26 import androidx.test.runner.AndroidJUnit4; 27 28 import com.android.systemui.SysuiTestCase; 29 30 import org.junit.Test; 31 import org.junit.runner.RunWith; 32 33 @SmallTest 34 @RunWith(AndroidJUnit4.class) 35 public class TelephonyCallbackTest extends SysuiTestCase { 36 37 private TelephonyCallback mTelephonyCallback = new TelephonyCallback(); 38 39 @Test testAddListener_ActiveDataSubscriptionIdListener()40 public void testAddListener_ActiveDataSubscriptionIdListener() { 41 assertThat(mTelephonyCallback.hasAnyListeners()).isFalse(); 42 mTelephonyCallback.addActiveDataSubscriptionIdListener(subId -> {}); 43 assertThat(mTelephonyCallback.hasAnyListeners()).isTrue(); 44 mTelephonyCallback.addActiveDataSubscriptionIdListener(subId -> {}); 45 assertThat(mTelephonyCallback.hasAnyListeners()).isTrue(); 46 } 47 48 @Test testAddListener_CallStateListener()49 public void testAddListener_CallStateListener() { 50 assertThat(mTelephonyCallback.hasAnyListeners()).isFalse(); 51 mTelephonyCallback.addCallStateListener(state -> {}); 52 assertThat(mTelephonyCallback.hasAnyListeners()).isTrue(); 53 mTelephonyCallback.addCallStateListener(state -> {}); 54 assertThat(mTelephonyCallback.hasAnyListeners()).isTrue(); 55 } 56 57 @Test testAddListener_ServiceStateListener()58 public void testAddListener_ServiceStateListener() { 59 assertThat(mTelephonyCallback.hasAnyListeners()).isFalse(); 60 mTelephonyCallback.addServiceStateListener(serviceState -> {}); 61 assertThat(mTelephonyCallback.hasAnyListeners()).isTrue(); 62 mTelephonyCallback.addServiceStateListener(serviceState -> {}); 63 assertThat(mTelephonyCallback.hasAnyListeners()).isTrue(); 64 } 65 66 @Test testRemoveListener_ActiveDataSubscriptionIdListener()67 public void testRemoveListener_ActiveDataSubscriptionIdListener() { 68 ActiveDataSubscriptionIdListener listener = subId -> {}; 69 mTelephonyCallback.addActiveDataSubscriptionIdListener(listener); 70 mTelephonyCallback.addActiveDataSubscriptionIdListener(listener); 71 assertThat(mTelephonyCallback.hasAnyListeners()).isTrue(); 72 mTelephonyCallback.removeActiveDataSubscriptionIdListener(listener); 73 assertThat(mTelephonyCallback.hasAnyListeners()).isTrue(); 74 mTelephonyCallback.removeActiveDataSubscriptionIdListener(listener); 75 assertThat(mTelephonyCallback.hasAnyListeners()).isFalse(); 76 } 77 78 @Test testRemoveListener_CallStateListener()79 public void testRemoveListener_CallStateListener() { 80 CallStateListener listener = state -> {}; 81 mTelephonyCallback.addCallStateListener(listener); 82 mTelephonyCallback.addCallStateListener(listener); 83 assertThat(mTelephonyCallback.hasAnyListeners()).isTrue(); 84 mTelephonyCallback.removeCallStateListener(listener); 85 assertThat(mTelephonyCallback.hasAnyListeners()).isTrue(); 86 mTelephonyCallback.removeCallStateListener(listener); 87 assertThat(mTelephonyCallback.hasAnyListeners()).isFalse(); 88 } 89 90 @Test testRemoveListener_ServiceStateListener()91 public void testRemoveListener_ServiceStateListener() { 92 ServiceStateListener listener = serviceState -> {}; 93 mTelephonyCallback.addServiceStateListener(listener); 94 mTelephonyCallback.addServiceStateListener(listener); 95 assertThat(mTelephonyCallback.hasAnyListeners()).isTrue(); 96 mTelephonyCallback.removeServiceStateListener(listener); 97 assertThat(mTelephonyCallback.hasAnyListeners()).isTrue(); 98 mTelephonyCallback.removeServiceStateListener(listener); 99 assertThat(mTelephonyCallback.hasAnyListeners()).isFalse(); 100 } 101 } 102