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

Commit 2baf35fc authored by Grace Jia's avatar Grace Jia Committed by Automerger Merge Worker
Browse files

Rename call screening filter and the test of it. am: f9625223

Change-Id: I5fddf3b0b071d888b26ea0d78b6f57852ffecf68
parents 8e97fda4 f9625223
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;
@@ -691,17 +690,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();
    }