Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b32698e5 authored by Grace Jia's avatar Grace Jia
Browse files

Rename call screening filter and the test of it.

Bug: 150724652
Test: TelecomUnitTest
Change-Id: Ibbc42a02775754c7a9d62eeba1261201275f8d36
parent b2f5f38a
Loading
Loading
Loading
Loading
+10 −11
Original line number Diff line number Diff line
@@ -39,7 +39,6 @@ import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.pm.UserInfo;
import android.graphics.Color;
@@ -105,7 +104,7 @@ import com.android.server.telecom.callfiltering.CallFilteringResult.Builder;
import com.android.server.telecom.callfiltering.DirectToVoicemailFilter;
import com.android.server.telecom.callfiltering.IncomingCallFilter;
import com.android.server.telecom.callfiltering.IncomingCallFilterGraph;
import com.android.server.telecom.callfiltering.NewCallScreeningServiceFilter;
import com.android.server.telecom.callfiltering.CallScreeningServiceFilter;
import com.android.server.telecom.callredirection.CallRedirectionProcessor;
import com.android.server.telecom.components.ErrorDialogActivity;
import com.android.server.telecom.components.TelecomBroadcastReceiver;
@@ -693,17 +692,17 @@ public class CallsManager extends Call.ListenerBase
                mCallerInfoLookupHelper);
        BlockCheckerFilter blockCheckerFilter = new BlockCheckerFilter(mContext, incomingCall,
                mCallerInfoLookupHelper, new BlockCheckerAdapter());
        NewCallScreeningServiceFilter carrierCallScreeningServiceFilter =
                new NewCallScreeningServiceFilter(incomingCall, carrierPackageName,
                        NewCallScreeningServiceFilter.PACKAGE_TYPE_CARRIER, mContext, this,
        CallScreeningServiceFilter carrierCallScreeningServiceFilter =
                new CallScreeningServiceFilter(incomingCall, carrierPackageName,
                        CallScreeningServiceFilter.PACKAGE_TYPE_CARRIER, mContext, this,
                        appLabelProxy, converter);
        NewCallScreeningServiceFilter defaultDialerCallScreeningServiceFilter =
                new NewCallScreeningServiceFilter(incomingCall, defaultDialerPackageName,
                        NewCallScreeningServiceFilter.PACKAGE_TYPE_DEFAULT_DIALER, mContext, this,
        CallScreeningServiceFilter defaultDialerCallScreeningServiceFilter =
                new CallScreeningServiceFilter(incomingCall, defaultDialerPackageName,
                        CallScreeningServiceFilter.PACKAGE_TYPE_DEFAULT_DIALER, mContext, this,
                        appLabelProxy, converter);
        NewCallScreeningServiceFilter userChosenCallScreeningServiceFilter =
                new NewCallScreeningServiceFilter(incomingCall, userChosenPackageName,
                        NewCallScreeningServiceFilter.PACKAGE_TYPE_USER_CHOSEN, mContext, this,
        CallScreeningServiceFilter userChosenCallScreeningServiceFilter =
                new CallScreeningServiceFilter(incomingCall, userChosenPackageName,
                        CallScreeningServiceFilter.PACKAGE_TYPE_USER_CHOSEN, mContext, this,
                        appLabelProxy, converter);
        graph.addFilter(voicemailFilter);
        graph.addFilter(blockCheckerFilter);
+1 −1
Original line number Diff line number Diff line
@@ -136,7 +136,7 @@ public class CallFilteringResult {
     * Combine this CallFilteringResult with another, returning a CallFilteringResult with the more
     * restrictive properties of the two. Where there are multiple call filtering components which
     * block a call, the first filter from {@link BlockCheckerFilter},
     * {@link DirectToVoicemailFilter}, {@link NewCallScreeningServiceFilter} which blocked a call
     * {@link DirectToVoicemailFilter}, {@link CallScreeningServiceFilter} which blocked a call
     * shall be used to populate the call block reason, component name, etc.
     */
    public CallFilteringResult combine(CallFilteringResult other) {
+2 −3
Original line number Diff line number Diff line
@@ -39,8 +39,7 @@ import com.android.server.telecom.ParcelableCallUtils;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.CompletionStage;

public class NewCallScreeningServiceFilter extends CallFilter {
    //TODO: Change the name of this class with CallScreeningServiceFilter
public class CallScreeningServiceFilter extends CallFilter {
    public static final int PACKAGE_TYPE_CARRIER = 0;
    public static final int PACKAGE_TYPE_DEFAULT_DIALER = 1;
    public static final int PACKAGE_TYPE_USER_CHOSEN = 2;
@@ -208,7 +207,7 @@ public class NewCallScreeningServiceFilter extends CallFilter {
        }
    }

    public NewCallScreeningServiceFilter(
    public CallScreeningServiceFilter(
            Call call,
            String packageName,
            int packageType,
+29 −30
Original line number Diff line number Diff line
@@ -50,7 +50,7 @@ import com.android.server.telecom.CallsManager;
import com.android.server.telecom.ParcelableCallUtils;
import com.android.server.telecom.PhoneAccountRegistrar;
import com.android.server.telecom.callfiltering.CallFilteringResult;
import com.android.server.telecom.callfiltering.NewCallScreeningServiceFilter;
import com.android.server.telecom.callfiltering.CallScreeningServiceFilter;

import org.junit.Before;
import org.junit.Test;
@@ -64,8 +64,7 @@ import java.util.concurrent.CompletionStage;
import java.util.concurrent.TimeUnit;

@RunWith(JUnit4.class)
public class NewCallScreeningServiceFilterTest extends TelecomTestCase {
    //TODO: Change the name of this class to CallScreeningServiceFilterTest
public class CallScreeningServiceFilterTest extends TelecomTestCase {
    static @Mock Call mCall;
    @Mock Context mContext;
    @Mock PackageManager mPackageManager;
@@ -126,12 +125,12 @@ public class NewCallScreeningServiceFilterTest extends TelecomTestCase {
    @SmallTest
    @Test
    public void testNoPackageName() throws Exception {
        NewCallScreeningServiceFilter filter = new NewCallScreeningServiceFilter(mCall, null,
                NewCallScreeningServiceFilter.PACKAGE_TYPE_CARRIER, mContext, mCallsManager,
        CallScreeningServiceFilter filter = new CallScreeningServiceFilter(mCall, null,
                CallScreeningServiceFilter.PACKAGE_TYPE_CARRIER, mContext, mCallsManager,
                mAppLabelProxy, mParcelableCallUtilsConverter);
        assertEquals(PASS_RESULT,
                filter.startFilterLookup(inputResult).toCompletableFuture().get(
                        NewCallScreeningServiceFilter.CALL_SCREENING_FILTER_TIMEOUT,
                        CallScreeningServiceFilter.CALL_SCREENING_FILTER_TIMEOUT,
                        TimeUnit.MILLISECONDS));
    }

@@ -140,12 +139,12 @@ public class NewCallScreeningServiceFilterTest extends TelecomTestCase {
    public void testContextFailToBind() throws Exception {
        when(mContext.bindServiceAsUser(nullable(Intent.class), nullable(ServiceConnection.class),
                anyInt(), eq(UserHandle.CURRENT))).thenReturn(false);
        NewCallScreeningServiceFilter filter = new NewCallScreeningServiceFilter(mCall, PKG_NAME,
                NewCallScreeningServiceFilter.PACKAGE_TYPE_CARRIER, mContext, mCallsManager,
        CallScreeningServiceFilter filter = new CallScreeningServiceFilter(mCall, PKG_NAME,
                CallScreeningServiceFilter.PACKAGE_TYPE_CARRIER, mContext, mCallsManager,
                mAppLabelProxy, mParcelableCallUtilsConverter);
        assertEquals(PASS_RESULT,
                filter.startFilterLookup(inputResult).toCompletableFuture().get(
                        NewCallScreeningServiceFilter.CALL_SCREENING_FILTER_TIMEOUT,
                        CallScreeningServiceFilter.CALL_SCREENING_FILTER_TIMEOUT,
                        TimeUnit.MILLISECONDS));
    }

@@ -154,12 +153,12 @@ public class NewCallScreeningServiceFilterTest extends TelecomTestCase {
    public void testNoResolveEntries() throws Exception {
        when(mPackageManager.queryIntentServicesAsUser(nullable(Intent.class), anyInt(), anyInt()))
                .thenReturn(Collections.emptyList());
        NewCallScreeningServiceFilter filter = new NewCallScreeningServiceFilter(mCall, PKG_NAME,
                NewCallScreeningServiceFilter.PACKAGE_TYPE_CARRIER, mContext, mCallsManager,
        CallScreeningServiceFilter filter = new CallScreeningServiceFilter(mCall, PKG_NAME,
                CallScreeningServiceFilter.PACKAGE_TYPE_CARRIER, mContext, mCallsManager,
                mAppLabelProxy, mParcelableCallUtilsConverter);
        assertEquals(PASS_RESULT,
                filter.startFilterLookup(inputResult).toCompletableFuture().get(
                        NewCallScreeningServiceFilter.CALL_SCREENING_FILTER_TIMEOUT,
                        CallScreeningServiceFilter.CALL_SCREENING_FILTER_TIMEOUT,
                        TimeUnit.MILLISECONDS));
    }

@@ -167,12 +166,12 @@ public class NewCallScreeningServiceFilterTest extends TelecomTestCase {
    @Test
    public void testBadResolveEntry() throws Exception {
        mResolveInfo.serviceInfo = null;
        NewCallScreeningServiceFilter filter = new NewCallScreeningServiceFilter(mCall, PKG_NAME,
                NewCallScreeningServiceFilter.PACKAGE_TYPE_CARRIER, mContext, mCallsManager,
        CallScreeningServiceFilter filter = new CallScreeningServiceFilter(mCall, PKG_NAME,
                CallScreeningServiceFilter.PACKAGE_TYPE_CARRIER, mContext, mCallsManager,
                mAppLabelProxy, mParcelableCallUtilsConverter);
        assertEquals(PASS_RESULT,
                filter.startFilterLookup(inputResult).toCompletableFuture().get(
                        NewCallScreeningServiceFilter.CALL_SCREENING_FILTER_TIMEOUT,
                        CallScreeningServiceFilter.CALL_SCREENING_FILTER_TIMEOUT,
                        TimeUnit.MILLISECONDS));
    }

@@ -186,8 +185,8 @@ public class NewCallScreeningServiceFilterTest extends TelecomTestCase {
        when(mContext.bindServiceAsUser(nullable(Intent.class), nullable(ServiceConnection.class),
                anyInt(), eq(UserHandle.CURRENT))).thenThrow(new SecurityException());
        inputResult.contactExists = true;
        NewCallScreeningServiceFilter filter = new NewCallScreeningServiceFilter(mCall, PKG_NAME,
                NewCallScreeningServiceFilter.PACKAGE_TYPE_USER_CHOSEN, mContext, mCallsManager,
        CallScreeningServiceFilter filter = new CallScreeningServiceFilter(mCall, PKG_NAME,
                CallScreeningServiceFilter.PACKAGE_TYPE_USER_CHOSEN, mContext, mCallsManager,
                mAppLabelProxy, mParcelableCallUtilsConverter);
        filter.startFilterLookup(inputResult);
    }
@@ -198,8 +197,8 @@ public class NewCallScreeningServiceFilterTest extends TelecomTestCase {
        // Make sure there will be binding if the package has READ_CONTACT permission and contact
        // exist.
        inputResult.contactExists = true;
        NewCallScreeningServiceFilter filter = new NewCallScreeningServiceFilter(mCall, PKG_NAME,
                NewCallScreeningServiceFilter.PACKAGE_TYPE_CARRIER, mContext, mCallsManager,
        CallScreeningServiceFilter filter = new CallScreeningServiceFilter(mCall, PKG_NAME,
                CallScreeningServiceFilter.PACKAGE_TYPE_CARRIER, mContext, mCallsManager,
                mAppLabelProxy, mParcelableCallUtilsConverter);
        filter.startFilterLookup(inputResult);
        ServiceConnection connection = verifyBindingIntent();
@@ -209,8 +208,8 @@ public class NewCallScreeningServiceFilterTest extends TelecomTestCase {
    @SmallTest
    @Test
    public void testAllowCall() throws Exception {
        NewCallScreeningServiceFilter filter = new NewCallScreeningServiceFilter(mCall, PKG_NAME,
                NewCallScreeningServiceFilter.PACKAGE_TYPE_CARRIER, mContext, mCallsManager,
        CallScreeningServiceFilter filter = new CallScreeningServiceFilter(mCall, PKG_NAME,
                CallScreeningServiceFilter.PACKAGE_TYPE_CARRIER, mContext, mCallsManager,
                mAppLabelProxy, mParcelableCallUtilsConverter);
        CompletionStage<CallFilteringResult> resultFuture = filter.startFilterLookup(inputResult);

@@ -221,7 +220,7 @@ public class NewCallScreeningServiceFilterTest extends TelecomTestCase {
        csAdapter.allowCall(CALL_ID);
        assertEquals(PASS_RESULT,
                resultFuture.toCompletableFuture().get(
                        NewCallScreeningServiceFilter.CALL_SCREENING_FILTER_TIMEOUT,
                        CallScreeningServiceFilter.CALL_SCREENING_FILTER_TIMEOUT,
                        TimeUnit.MILLISECONDS));
        serviceConnection.onServiceDisconnected(COMPONENT_NAME);
    }
@@ -239,8 +238,8 @@ public class NewCallScreeningServiceFilterTest extends TelecomTestCase {
                .setCallScreeningAppName(APP_NAME)
                .setCallScreeningComponentName(COMPONENT_NAME.flattenToString())
                .build();
        NewCallScreeningServiceFilter filter = new NewCallScreeningServiceFilter(mCall, PKG_NAME,
                NewCallScreeningServiceFilter.PACKAGE_TYPE_CARRIER, mContext, mCallsManager,
        CallScreeningServiceFilter filter = new CallScreeningServiceFilter(mCall, PKG_NAME,
                CallScreeningServiceFilter.PACKAGE_TYPE_CARRIER, mContext, mCallsManager,
                mAppLabelProxy, mParcelableCallUtilsConverter);
        CompletionStage<CallFilteringResult> resultFuture = filter.startFilterLookup(inputResult);

@@ -255,7 +254,7 @@ public class NewCallScreeningServiceFilterTest extends TelecomTestCase {
                COMPONENT_NAME);
        assertEquals(expectedResult,
                resultFuture.toCompletableFuture().get(
                        NewCallScreeningServiceFilter.CALL_SCREENING_FILTER_TIMEOUT,
                        CallScreeningServiceFilter.CALL_SCREENING_FILTER_TIMEOUT,
                        TimeUnit.MILLISECONDS));
        serviceConnection.onServiceDisconnected(COMPONENT_NAME);
    }
@@ -270,8 +269,8 @@ public class NewCallScreeningServiceFilterTest extends TelecomTestCase {
                .setShouldAddToCallLog(true)
                .setShouldShowNotification(true)
                .build();
        NewCallScreeningServiceFilter filter = new NewCallScreeningServiceFilter(mCall, PKG_NAME,
                NewCallScreeningServiceFilter.PACKAGE_TYPE_CARRIER, mContext, mCallsManager,
        CallScreeningServiceFilter filter = new CallScreeningServiceFilter(mCall, PKG_NAME,
                CallScreeningServiceFilter.PACKAGE_TYPE_CARRIER, mContext, mCallsManager,
                mAppLabelProxy, mParcelableCallUtilsConverter);
        CompletionStage<CallFilteringResult> resultFuture = filter.startFilterLookup(inputResult);

@@ -282,7 +281,7 @@ public class NewCallScreeningServiceFilterTest extends TelecomTestCase {
        csAdapter.silenceCall(CALL_ID);
        assertEquals(expectedResult,
                resultFuture.toCompletableFuture().get(
                        NewCallScreeningServiceFilter.CALL_SCREENING_FILTER_TIMEOUT,
                        CallScreeningServiceFilter.CALL_SCREENING_FILTER_TIMEOUT,
                        TimeUnit.MILLISECONDS));

        serviceConnection.onServiceDisconnected(COMPONENT_NAME);
@@ -292,7 +291,7 @@ public class NewCallScreeningServiceFilterTest extends TelecomTestCase {
        ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
        ArgumentCaptor<ServiceConnection> serviceCaptor = ArgumentCaptor
                .forClass(ServiceConnection.class);
        verify(mContext, timeout(NewCallScreeningServiceFilter.CALL_SCREENING_FILTER_TIMEOUT))
        verify(mContext, timeout(CallScreeningServiceFilter.CALL_SCREENING_FILTER_TIMEOUT))
                .bindServiceAsUser(intentCaptor.capture(), serviceCaptor.capture(),
                eq(Context.BIND_AUTO_CREATE | Context.BIND_FOREGROUND_SERVICE),
                eq(UserHandle.CURRENT));
@@ -310,7 +309,7 @@ public class NewCallScreeningServiceFilterTest extends TelecomTestCase {
        ArgumentCaptor<ICallScreeningAdapter> captor =
                ArgumentCaptor.forClass(ICallScreeningAdapter.class);
        verify(mCallScreeningService,
                timeout(NewCallScreeningServiceFilter.CALL_SCREENING_FILTER_TIMEOUT))
                timeout(CallScreeningServiceFilter.CALL_SCREENING_FILTER_TIMEOUT))
                .screenCall(captor.capture(), nullable(ParcelableCall.class));
        return captor.getValue();
    }