summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/password
diff options
context:
space:
mode:
authorDoris Ling <dling@google.com>2017-08-31 16:17:30 -0700
committerDoris Ling <dling@google.com>2017-09-14 18:24:49 -0700
commitdee1a22c45c78dd1d4a681314045b0757b63623d (patch)
treef6a632a92a2f2c9c526355c1025614a7c5d2dae7 /src/com/android/settings/password
parentfe18f8e876ce91c78fb79daa52f85d69b29b3529 (diff)
downloadpackages_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')
-rw-r--r--src/com/android/settings/password/FingerprintManagerWrapper.java67
-rw-r--r--src/com/android/settings/password/IFingerprintManager.java39
-rw-r--r--src/com/android/settings/password/SetNewPasswordController.java7
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;