diff options
author | Doris Ling <dling@google.com> | 2017-08-31 16:17:30 -0700 |
---|---|---|
committer | Doris Ling <dling@google.com> | 2017-09-14 18:24:49 -0700 |
commit | dee1a22c45c78dd1d4a681314045b0757b63623d (patch) | |
tree | f6a632a92a2f2c9c526355c1025614a7c5d2dae7 /src/com/android/settings/password | |
parent | fe18f8e876ce91c78fb79daa52f85d69b29b3529 (diff) | |
download | packages_apps_Settings-dee1a22c45c78dd1d4a681314045b0757b63623d.tar.gz packages_apps_Settings-dee1a22c45c78dd1d4a681314045b0757b63623d.tar.bz2 packages_apps_Settings-dee1a22c45c78dd1d4a681314045b0757b63623d.zip |
Consolidate all wrappers used for testing.
- Add the wrapper package and move all wrappers to the wrapper package.
- Get rid of some wrapper interface/impl implementation and have a
wrapper class directly.
Bug: 65634579
Test: make RunSettingsRoboTests
Change-Id: Ic757d8f7bacfa7a034c7e692205bc1dc4b0e1de1
Diffstat (limited to 'src/com/android/settings/password')
3 files changed, 4 insertions, 109 deletions
diff --git a/src/com/android/settings/password/FingerprintManagerWrapper.java b/src/com/android/settings/password/FingerprintManagerWrapper.java deleted file mode 100644 index 51b31afc9e..0000000000 --- a/src/com/android/settings/password/FingerprintManagerWrapper.java +++ /dev/null @@ -1,67 +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.password; - -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 roboelectic testing. See - * {@link IFingerprintManager} for details. - */ -public class FingerprintManagerWrapper implements IFingerprintManager { - private @NonNull FingerprintManager mFingerprintManager; - - public FingerprintManagerWrapper(@NonNull FingerprintManager fingerprintManager) { - Preconditions.checkNotNull(fingerprintManager); - mFingerprintManager = fingerprintManager; - } - - @Override - public boolean isHardwareDetected() { - return mFingerprintManager.isHardwareDetected(); - } - - @Override - public boolean hasEnrolledFingerprints(int userId) { - return mFingerprintManager.hasEnrolledFingerprints(userId); - } - - @Override - public long preEnroll() { - return mFingerprintManager.preEnroll(); - } - - @Override - public void setActiveUser(int userId) { - mFingerprintManager.setActiveUser(userId); - } - - @Override - public void enroll( - byte[] token, - CancellationSignal cancel, - int flags, - int userId, - EnrollmentCallback callback) { - mFingerprintManager.enroll(token, cancel, flags, userId, callback); - } -} diff --git a/src/com/android/settings/password/IFingerprintManager.java b/src/com/android/settings/password/IFingerprintManager.java deleted file mode 100644 index 94021460bf..0000000000 --- a/src/com/android/settings/password/IFingerprintManager.java +++ /dev/null @@ -1,39 +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.password; - -import android.hardware.fingerprint.FingerprintManager.EnrollmentCallback; -import android.os.CancellationSignal; - -/** - * This is the workaround to allow us test {@link SetNewPasswordController} which uses a new hidden - * API {@link android.hardware.fingerprint.FingerprintManager#hasEnrolledFingerprints(int)} that - * roboelectric does not support yet. Having roboelectic to support latest platform API is tracked - * in b/30995831. - */ -public interface IFingerprintManager { - boolean isHardwareDetected(); - - boolean hasEnrolledFingerprints(int userId); - - long preEnroll(); - - void setActiveUser(int userId); - - void enroll(byte [] token, CancellationSignal cancel, int flags, - int userId, EnrollmentCallback callback); -} diff --git a/src/com/android/settings/password/SetNewPasswordController.java b/src/com/android/settings/password/SetNewPasswordController.java index 57aa8c17d1..a974da4f0e 100644 --- a/src/com/android/settings/password/SetNewPasswordController.java +++ b/src/com/android/settings/password/SetNewPasswordController.java @@ -36,6 +36,7 @@ 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}. @@ -56,7 +57,7 @@ final class SetNewPasswordController { */ private final int mTargetUserId; private final PackageManager mPackageManager; - @Nullable private final IFingerprintManager mFingerprintManager; + @Nullable private final FingerprintManagerWrapper mFingerprintManager; private final DevicePolicyManager mDevicePolicyManager; private final Ui mUi; @@ -77,7 +78,7 @@ final class SetNewPasswordController { } // Create a wrapper of FingerprintManager for testing, see IFingerPrintManager for details. final FingerprintManager fingerprintManager = Utils.getFingerprintManagerOrNull(context); - final IFingerprintManager fingerprintManagerWrapper = + final FingerprintManagerWrapper fingerprintManagerWrapper = fingerprintManager == null ? null : new FingerprintManagerWrapper(fingerprintManager); @@ -91,7 +92,7 @@ final class SetNewPasswordController { SetNewPasswordController( int targetUserId, PackageManager packageManager, - IFingerprintManager fingerprintManager, + FingerprintManagerWrapper fingerprintManager, DevicePolicyManager devicePolicyManager, Ui ui) { mTargetUserId = targetUserId; |