Refine FingerprintEnrollmentActivity
1. Add missing test cases for DeviceFoldedViewModel, DeviceRotationViewModel, and FingerprintEnrollFindSensorViewModel 2. Move most of init value of ViewModels into getDefaultViewModelCreationExtras 3. Fix FindSfpsFragment lottie because of incorrect rotation value. 4. Feed configuration change into DeviceFoldedViewModel Bug: 260957195 Test: atest CredentialModelTest AutoCredentialViewModelTest DeviceFoldedViewModelTest DeviceRotationViewModelTest FingerprintEnrollFindSensorViewModelTest FingerprintEnrollIntroViewModelTest FingerprintEnrollProgressViewModelTest FingerprintEnrollmentViewModelTest FingerprintEnrollmentActivityTest Change-Id: Ied55a895bc1774af5bdd256eccd806aaaa1680ef
This commit is contained in:
@@ -22,13 +22,10 @@ import static com.android.settings.biometrics2.ui.model.FingerprintEnrollIntroSt
|
||||
|
||||
import android.annotation.IntDef;
|
||||
import android.app.Application;
|
||||
import android.os.UserHandle;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.lifecycle.AndroidViewModel;
|
||||
import androidx.lifecycle.DefaultLifecycleObserver;
|
||||
import androidx.lifecycle.LifecycleOwner;
|
||||
import androidx.lifecycle.LiveData;
|
||||
import androidx.lifecycle.MediatorLiveData;
|
||||
import androidx.lifecycle.MutableLiveData;
|
||||
@@ -43,8 +40,7 @@ import java.lang.annotation.RetentionPolicy;
|
||||
/**
|
||||
* Fingerprint intro onboarding page view model implementation
|
||||
*/
|
||||
public class FingerprintEnrollIntroViewModel extends AndroidViewModel
|
||||
implements DefaultLifecycleObserver {
|
||||
public class FingerprintEnrollIntroViewModel extends AndroidViewModel {
|
||||
|
||||
private static final String TAG = "FingerprintEnrollIntroViewModel";
|
||||
private static final boolean HAS_SCROLLED_TO_BOTTOM_DEFAULT = false;
|
||||
@@ -82,13 +78,16 @@ public class FingerprintEnrollIntroViewModel extends AndroidViewModel
|
||||
private final MediatorLiveData<FingerprintEnrollIntroStatus> mPageStatusLiveData =
|
||||
new MediatorLiveData<>();
|
||||
private final MutableLiveData<Integer> mActionLiveData = new MutableLiveData<>();
|
||||
private int mUserId = UserHandle.myUserId();
|
||||
private EnrollmentRequest mEnrollmentRequest = null;
|
||||
private final int mUserId;
|
||||
@NonNull private final EnrollmentRequest mRequest;
|
||||
|
||||
public FingerprintEnrollIntroViewModel(@NonNull Application application,
|
||||
@NonNull FingerprintRepository fingerprintRepository) {
|
||||
@NonNull FingerprintRepository fingerprintRepository,
|
||||
@NonNull EnrollmentRequest request, int userId) {
|
||||
super(application);
|
||||
mFingerprintRepository = fingerprintRepository;
|
||||
mRequest = request;
|
||||
mUserId = userId;
|
||||
|
||||
mPageStatusLiveData.addSource(
|
||||
mEnrollableStatusLiveData,
|
||||
@@ -108,27 +107,21 @@ public class FingerprintEnrollIntroViewModel extends AndroidViewModel
|
||||
enrollableValue != null ? enrollableValue : ENROLLABLE_STATUS_DEFAULT);
|
||||
mPageStatusLiveData.setValue(status);
|
||||
});
|
||||
}
|
||||
|
||||
public void setUserId(int userId) {
|
||||
mUserId = userId;
|
||||
}
|
||||
|
||||
public void setEnrollmentRequest(@NonNull EnrollmentRequest enrollmentRequest) {
|
||||
mEnrollmentRequest = enrollmentRequest;
|
||||
updateEnrollableStatus();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get enrollment request
|
||||
*/
|
||||
public EnrollmentRequest getEnrollmentRequest() {
|
||||
return mEnrollmentRequest;
|
||||
public EnrollmentRequest getRequest() {
|
||||
return mRequest;
|
||||
}
|
||||
|
||||
private void updateEnrollableStatus() {
|
||||
final int num = mFingerprintRepository.getNumOfEnrolledFingerprintsSize(mUserId);
|
||||
final int max =
|
||||
mEnrollmentRequest.isSuw() && !mEnrollmentRequest.isAfterSuwOrSuwSuggestedAction()
|
||||
mRequest.isSuw() && !mRequest.isAfterSuwOrSuwSuggestedAction()
|
||||
? mFingerprintRepository.getMaxFingerprintsInSuw(getApplication().getResources())
|
||||
: mFingerprintRepository.getMaxFingerprints();
|
||||
mEnrollableStatusLiveData.postValue(num >= max
|
||||
@@ -208,10 +201,4 @@ public class FingerprintEnrollIntroViewModel extends AndroidViewModel
|
||||
public void onSkipOrCancelButtonClick() {
|
||||
mActionLiveData.postValue(FINGERPRINT_ENROLL_INTRO_ACTION_SKIP_OR_CANCEL);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStart(@NonNull LifecycleOwner owner) {
|
||||
updateEnrollableStatus();
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user