Enable Skip fingerprint when adding corp account.

- override the internal activity for picking screen lock from setup
wizard, so that when adding corp account, it can skip fingerprint even
when device is not yet provisioned.

Change-Id: I9485c54d097c82a584297fcaeb63b3271e05c1b6
Fixes: 112706989
Test: atest com.android.settings.password.SetupChooseLockGenericTest
This commit is contained in:
Doris Ling
2018-10-16 17:11:54 -07:00
parent 6773c7efcb
commit 3e6d80c121
4 changed files with 129 additions and 1 deletions

View File

@@ -27,6 +27,7 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import androidx.fragment.app.Fragment;
import androidx.preference.Preference;
import androidx.preference.PreferenceFragmentCompat;
import androidx.recyclerview.widget.RecyclerView;
@@ -135,6 +136,11 @@ public class SetupChooseLockGeneric extends ChooseLockGeneric {
return true;
}
@Override
protected Class<? extends ChooseLockGeneric.InternalActivity> getInternalActivityClass() {
return SetupChooseLockGeneric.InternalActivity.class;
}
/***
* Disables preferences that are less secure than required quality and shows only secure
* screen lock options here.
@@ -207,4 +213,25 @@ public class SetupChooseLockGeneric extends ChooseLockGeneric {
return intent;
}
}
public static class InternalActivity extends ChooseLockGeneric.InternalActivity {
@Override
protected boolean isValidFragment(String fragmentName) {
return InternalSetupChooseLockGenericFragment.class.getName().equals(fragmentName);
}
@Override
/* package */ Class<? extends Fragment> getFragmentClass() {
return InternalSetupChooseLockGenericFragment.class;
}
public static class InternalSetupChooseLockGenericFragment
extends ChooseLockGenericFragment {
@Override
protected boolean canRunBeforeDeviceProvisioned() {
return true;
}
}
}
}