From 1b9b1a2311310fe56f13cf729d6aacda744c04b6 Mon Sep 17 00:00:00 2001 From: Fan Zhang Date: Fri, 30 Mar 2018 16:30:31 -0700 Subject: [PATCH] Remove FingerprintManagerWrapper No longer needed after robolectric migration Bug: 76167422 Test: robotests Change-Id: I922cde8ac3667081a512cf899af86f68b24485a6 --- src/com/android/settings/Utils.java | 16 ----- .../fingerprint/FingerprintEnrollSidecar.java | 5 +- .../password/SetNewPasswordController.java | 13 ++-- .../wrapper/FingerprintManagerWrapper.java | 66 ------------------- .../FingerprintEnrollEnrollingTest.java | 3 +- .../FingerprintEnrollFindSensorTest.java | 3 +- .../SetupFingerprintEnrollFindSensorTest.java | 11 ++-- .../SetNewPasswordControllerTest.java | 18 ++--- .../testutils/shadow/ShadowUtils.java | 8 +-- 9 files changed, 28 insertions(+), 115 deletions(-) delete mode 100644 src/com/android/settings/wrapper/FingerprintManagerWrapper.java diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java index 54609460be8..2ba54d21ff7 100644 --- a/src/com/android/settings/Utils.java +++ b/src/com/android/settings/Utils.java @@ -58,7 +58,6 @@ import android.os.BatteryManager; import android.os.Bundle; import android.os.IBinder; import android.os.INetworkManagementService; -import android.os.Looper; import android.os.RemoteException; import android.os.ServiceManager; import android.os.UserHandle; @@ -75,8 +74,6 @@ import android.provider.Settings; import android.support.annotation.StringRes; import android.support.v7.preference.Preference; import android.support.v7.preference.PreferenceGroup; -import android.support.v7.preference.PreferenceManager; -import android.support.v7.preference.PreferenceScreen; import android.telephony.TelephonyManager; import android.text.Spannable; import android.text.SpannableString; @@ -86,7 +83,6 @@ import android.text.style.TtsSpan; import android.util.ArraySet; import android.util.IconDrawableFactory; import android.util.Log; -import android.util.TypedValue; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -99,11 +95,8 @@ import com.android.internal.util.ArrayUtils; import com.android.internal.widget.LockPatternUtils; import com.android.settings.password.ChooseLockSettingsHelper; import com.android.settings.wrapper.DevicePolicyManagerWrapper; -import com.android.settings.wrapper.FingerprintManagerWrapper; -import com.android.settingslib.core.instrumentation.VisibilityLoggerMixin; import java.net.InetAddress; -import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Locale; @@ -815,15 +808,6 @@ public final class Utils extends com.android.settingslib.Utils { } } - public static FingerprintManagerWrapper getFingerprintManagerWrapperOrNull(Context context) { - FingerprintManager fingerprintManager = getFingerprintManagerOrNull(context); - if (fingerprintManager != null) { - return new FingerprintManagerWrapper(fingerprintManager); - } else { - return null; - } - } - public static boolean hasFingerprintHardware(Context context) { FingerprintManager fingerprintManager = getFingerprintManagerOrNull(context); return fingerprintManager != null && fingerprintManager.isHardwareDetected(); diff --git a/src/com/android/settings/fingerprint/FingerprintEnrollSidecar.java b/src/com/android/settings/fingerprint/FingerprintEnrollSidecar.java index 20bb13b58f1..7f7cb673241 100644 --- a/src/com/android/settings/fingerprint/FingerprintEnrollSidecar.java +++ b/src/com/android/settings/fingerprint/FingerprintEnrollSidecar.java @@ -29,7 +29,6 @@ import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settings.Utils; import com.android.settings.core.InstrumentedFragment; import com.android.settings.password.ChooseLockSettingsHelper; -import com.android.settings.wrapper.FingerprintManagerWrapper; import java.util.ArrayList; @@ -47,7 +46,7 @@ public class FingerprintEnrollSidecar extends InstrumentedFragment { private byte[] mToken; private boolean mDone; private int mUserId; - private FingerprintManagerWrapper mFingerprintManager; + private FingerprintManager mFingerprintManager; private ArrayList mQueuedEvents; private abstract class QueuedEvent { @@ -109,7 +108,7 @@ public class FingerprintEnrollSidecar extends InstrumentedFragment { @Override public void onAttach(Activity activity) { super.onAttach(activity); - mFingerprintManager = Utils.getFingerprintManagerWrapperOrNull(activity); + mFingerprintManager = Utils.getFingerprintManagerOrNull(activity); mToken = activity.getIntent().getByteArrayExtra( ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN); mUserId = activity.getIntent().getIntExtra(Intent.EXTRA_USER_ID, UserHandle.USER_NULL); diff --git a/src/com/android/settings/password/SetNewPasswordController.java b/src/com/android/settings/password/SetNewPasswordController.java index a974da4f0ec..a8d51eddd4a 100644 --- a/src/com/android/settings/password/SetNewPasswordController.java +++ b/src/com/android/settings/password/SetNewPasswordController.java @@ -19,7 +19,6 @@ package com.android.settings.password; import static android.app.admin.DevicePolicyManager.ACTION_SET_NEW_PASSWORD; import static android.app.admin.DevicePolicyManager.KEYGUARD_DISABLE_FINGERPRINT; import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_SOMETHING; - import static com.android.internal.util.Preconditions.checkNotNull; import android.annotation.Nullable; @@ -36,7 +35,6 @@ import android.os.UserManager; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.widget.LockPatternUtils; import com.android.settings.Utils; -import com.android.settings.wrapper.FingerprintManagerWrapper; /** * Business logic for {@link SetNewPasswordActivity}. @@ -57,7 +55,8 @@ final class SetNewPasswordController { */ private final int mTargetUserId; private final PackageManager mPackageManager; - @Nullable private final FingerprintManagerWrapper mFingerprintManager; + @Nullable + private final FingerprintManager mFingerprintManager; private final DevicePolicyManager mDevicePolicyManager; private final Ui mUi; @@ -78,13 +77,9 @@ final class SetNewPasswordController { } // Create a wrapper of FingerprintManager for testing, see IFingerPrintManager for details. final FingerprintManager fingerprintManager = Utils.getFingerprintManagerOrNull(context); - final FingerprintManagerWrapper fingerprintManagerWrapper = - fingerprintManager == null - ? null - : new FingerprintManagerWrapper(fingerprintManager); return new SetNewPasswordController(userId, context.getPackageManager(), - fingerprintManagerWrapper, + fingerprintManager, (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE), ui); } @@ -92,7 +87,7 @@ final class SetNewPasswordController { SetNewPasswordController( int targetUserId, PackageManager packageManager, - FingerprintManagerWrapper fingerprintManager, + FingerprintManager fingerprintManager, DevicePolicyManager devicePolicyManager, Ui ui) { mTargetUserId = targetUserId; diff --git a/src/com/android/settings/wrapper/FingerprintManagerWrapper.java b/src/com/android/settings/wrapper/FingerprintManagerWrapper.java deleted file mode 100644 index 9b43bfaa027..00000000000 --- a/src/com/android/settings/wrapper/FingerprintManagerWrapper.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright (C) 2016 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.settings.wrapper; - -import android.annotation.NonNull; -import android.hardware.fingerprint.FingerprintManager; -import android.hardware.fingerprint.FingerprintManager.EnrollmentCallback; -import android.os.CancellationSignal; - -import com.android.internal.util.Preconditions; - -/** - * Wrapper of {@link FingerprintManager}. Workaround for robolectic testing. - * - * This is the workaround to allow us test {@link SetNewPasswordController} which uses a new hidden - * API {@link android.hardware.fingerprint.FingerprintManager#hasEnrolledFingerprints(int)} that - * robolectric does not support yet. Having robolectic to support latest platform API is tracked - * in b/30995831. - */ -public class FingerprintManagerWrapper { - private @NonNull FingerprintManager mFingerprintManager; - - public FingerprintManagerWrapper(@NonNull FingerprintManager fingerprintManager) { - Preconditions.checkNotNull(fingerprintManager); - mFingerprintManager = fingerprintManager; - } - - public boolean isHardwareDetected() { - return mFingerprintManager.isHardwareDetected(); - } - - public boolean hasEnrolledFingerprints(int userId) { - return mFingerprintManager.hasEnrolledFingerprints(userId); - } - - public long preEnroll() { - return mFingerprintManager.preEnroll(); - } - - public void setActiveUser(int userId) { - mFingerprintManager.setActiveUser(userId); - } - - public void enroll( - byte[] token, - CancellationSignal cancel, - int flags, - int userId, - EnrollmentCallback callback) { - mFingerprintManager.enroll(token, cancel, flags, userId, callback); - } -} diff --git a/tests/robotests/src/com/android/settings/fingerprint/FingerprintEnrollEnrollingTest.java b/tests/robotests/src/com/android/settings/fingerprint/FingerprintEnrollEnrollingTest.java index b9a6b105fa5..8c8113be4cd 100644 --- a/tests/robotests/src/com/android/settings/fingerprint/FingerprintEnrollEnrollingTest.java +++ b/tests/robotests/src/com/android/settings/fingerprint/FingerprintEnrollEnrollingTest.java @@ -39,7 +39,6 @@ import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.shadow.SettingsShadowResourcesImpl; import com.android.settings.testutils.shadow.ShadowUtils; import com.android.settings.testutils.shadow.ShadowVibrator; -import com.android.settings.wrapper.FingerprintManagerWrapper; import org.junit.After; import org.junit.Before; @@ -62,7 +61,7 @@ import java.util.concurrent.TimeUnit; public class FingerprintEnrollEnrollingTest { @Mock - private FingerprintManagerWrapper mFingerprintManager; + private FingerprintManager mFingerprintManager; private FingerprintEnrollEnrolling mActivity; diff --git a/tests/robotests/src/com/android/settings/fingerprint/FingerprintEnrollFindSensorTest.java b/tests/robotests/src/com/android/settings/fingerprint/FingerprintEnrollFindSensorTest.java index 922fd195460..e83e93d9bc9 100644 --- a/tests/robotests/src/com/android/settings/fingerprint/FingerprintEnrollFindSensorTest.java +++ b/tests/robotests/src/com/android/settings/fingerprint/FingerprintEnrollFindSensorTest.java @@ -35,7 +35,6 @@ import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.shadow.SettingsShadowResources; import com.android.settings.testutils.shadow.ShadowUtils; -import com.android.settings.wrapper.FingerprintManagerWrapper; import org.junit.After; import org.junit.Before; @@ -55,7 +54,7 @@ import org.robolectric.shadows.ShadowActivity.IntentForResult; public class FingerprintEnrollFindSensorTest { @Mock - private FingerprintManagerWrapper mFingerprintManager; + private FingerprintManager mFingerprintManager; private FingerprintEnrollFindSensor mActivity; diff --git a/tests/robotests/src/com/android/settings/fingerprint/SetupFingerprintEnrollFindSensorTest.java b/tests/robotests/src/com/android/settings/fingerprint/SetupFingerprintEnrollFindSensorTest.java index 085a6228e89..85d7ad8212a 100644 --- a/tests/robotests/src/com/android/settings/fingerprint/SetupFingerprintEnrollFindSensorTest.java +++ b/tests/robotests/src/com/android/settings/fingerprint/SetupFingerprintEnrollFindSensorTest.java @@ -22,6 +22,7 @@ import static org.robolectric.RuntimeEnvironment.application; import android.app.AlertDialog; import android.content.Intent; +import android.hardware.fingerprint.FingerprintManager; import android.widget.Button; import com.android.settings.R; @@ -30,7 +31,6 @@ import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.shadow.SettingsShadowResources; import com.android.settings.testutils.shadow.ShadowUtils; -import com.android.settings.wrapper.FingerprintManagerWrapper; import org.junit.After; import org.junit.Before; @@ -48,7 +48,7 @@ import org.robolectric.shadows.ShadowAlertDialog; public class SetupFingerprintEnrollFindSensorTest { @Mock - private FingerprintManagerWrapper mFingerprintManager; + private FingerprintManager mFingerprintManager; @Before public void setUp() { @@ -65,11 +65,12 @@ public class SetupFingerprintEnrollFindSensorTest { @Test public void fingerprintEnroll_showsAlert_whenClickingSkip() { final Intent intent = new Intent() - // Set the challenge token so the confirm screen will not be shown - .putExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, new byte[0]); + // Set the challenge token so the confirm screen will not be shown + .putExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, new byte[0]); final SetupFingerprintEnrollFindSensor activity = - Robolectric.buildActivity(SetupFingerprintEnrollFindSensor.class, intent).setup().get(); + Robolectric.buildActivity(SetupFingerprintEnrollFindSensor.class, + intent).setup().get(); final Button skipButton = activity.findViewById(R.id.skip_button); skipButton.performClick(); diff --git a/tests/robotests/src/com/android/settings/password/SetNewPasswordControllerTest.java b/tests/robotests/src/com/android/settings/password/SetNewPasswordControllerTest.java index c8c3324282b..b5572574d68 100644 --- a/tests/robotests/src/com/android/settings/password/SetNewPasswordControllerTest.java +++ b/tests/robotests/src/com/android/settings/password/SetNewPasswordControllerTest.java @@ -17,8 +17,10 @@ package com.android.settings.password; import static android.content.pm.PackageManager.FEATURE_FINGERPRINT; -import static com.android.settings.password.ChooseLockGeneric.ChooseLockGenericFragment.HIDE_DISABLED_PREFS; -import static com.android.settings.password.ChooseLockGeneric.ChooseLockGenericFragment.MINIMUM_QUALITY_KEY; +import static com.android.settings.password.ChooseLockGeneric.ChooseLockGenericFragment + .HIDE_DISABLED_PREFS; +import static com.android.settings.password.ChooseLockGeneric.ChooseLockGenericFragment + .MINIMUM_QUALITY_KEY; import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE; import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_FOR_FINGERPRINT; import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_HAS_CHALLENGE; @@ -34,10 +36,10 @@ import android.app.admin.DevicePolicyManager; import android.content.ComponentName; import android.content.Intent; import android.content.pm.PackageManager; +import android.hardware.fingerprint.FingerprintManager; import android.os.Bundle; import com.android.settings.testutils.SettingsRobolectricTestRunner; -import com.android.settings.wrapper.FingerprintManagerWrapper; import org.junit.Before; import org.junit.Test; @@ -53,18 +55,18 @@ public final class SetNewPasswordControllerTest { private static final long FINGERPRINT_CHALLENGE = -9876512313131L; @Mock - PackageManager mPackageManager; + private PackageManager mPackageManager; @Mock - FingerprintManagerWrapper mFingerprintManager; + private FingerprintManager mFingerprintManager; @Mock - DevicePolicyManager mDevicePolicyManager; - + private DevicePolicyManager mDevicePolicyManager; @Mock private SetNewPasswordController.Ui mUi; + private SetNewPasswordController mSetNewPasswordController; @Before - public void setUp() { + public void setUp() { MockitoAnnotations.initMocks(this); mSetNewPasswordController = new SetNewPasswordController( CURRENT_USER_ID, mPackageManager, mFingerprintManager, mDevicePolicyManager, mUi); diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUtils.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUtils.java index b4169913a8d..b09bc7434f0 100644 --- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUtils.java +++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUtils.java @@ -18,11 +18,11 @@ package com.android.settings.testutils.shadow; import android.content.ComponentName; import android.content.Context; +import android.hardware.fingerprint.FingerprintManager; import android.os.UserHandle; import android.os.UserManager; import com.android.settings.Utils; -import com.android.settings.wrapper.FingerprintManagerWrapper; import org.robolectric.annotation.Implementation; import org.robolectric.annotation.Implements; @@ -33,7 +33,7 @@ import java.util.Map; @Implements(Utils.class) public class ShadowUtils { - private static FingerprintManagerWrapper sFingerprintManager = null; + private static FingerprintManager sFingerprintManager = null; private static boolean sIsUserAMonkey; private static boolean sIsDemoUser; private static ComponentName sDeviceOwnerComponentName; @@ -45,11 +45,11 @@ public class ShadowUtils { } @Implementation - public static FingerprintManagerWrapper getFingerprintManagerWrapperOrNull(Context context) { + public static FingerprintManager getFingerprintManagerOrNull(Context context) { return sFingerprintManager; } - public static void setFingerprintManager(FingerprintManagerWrapper fingerprintManager) { + public static void setFingerprintManager(FingerprintManager fingerprintManager) { sFingerprintManager = fingerprintManager; }