Remove FingerprintManagerWrapper

No longer needed after robolectric migration

Bug: 76167422
Test: robotests
Change-Id: I922cde8ac3667081a512cf899af86f68b24485a6
This commit is contained in:
Fan Zhang
2018-03-30 16:30:31 -07:00
parent e645558049
commit 1b9b1a2311
9 changed files with 28 additions and 115 deletions

View File

@@ -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();

View File

@@ -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<QueuedEvent> 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);

View File

@@ -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;

View File

@@ -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);
}
}

View File

@@ -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;

View File

@@ -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;

View File

@@ -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() {
@@ -69,7 +69,8 @@ public class SetupFingerprintEnrollFindSensorTest {
.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();

View File

@@ -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,14 +55,14 @@ 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

View File

@@ -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;
}