mirror of
https://github.com/edu4rdshl/gnome-shell.git
synced 2026-07-17 23:24:51 +00:00
gdm/util: Start fingerprint verification once it's available
If fingerprint service is not replying fast enough to our async request, authentication is started but the fingerprint service is never started. So, in case the fingerprint type information is received after that the authentication has been started, let's start the service. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2267>
This commit is contained in:
parent
0d24563296
commit
d5ca108a65
1 changed files with 11 additions and 1 deletions
|
|
@ -366,6 +366,13 @@ export class ShellUserVerifier extends Signals.EventEmitter {
|
|||
? FingerprintReaderType.SWIPE
|
||||
: FingerprintReaderType.PRESS;
|
||||
this._updateDefaultService();
|
||||
|
||||
if (this._userVerifier &&
|
||||
!this._activeServices.has(FINGERPRINT_SERVICE_NAME)) {
|
||||
if (!this._hold?.isAcquired())
|
||||
this._hold = new Batch.Hold();
|
||||
await this._maybeStartFingerprintVerification();
|
||||
}
|
||||
}
|
||||
|
||||
_onCredentialManagerAuthenticated(credentialManager, _token) {
|
||||
|
|
@ -617,11 +624,14 @@ export class ShellUserVerifier extends Signals.EventEmitter {
|
|||
|
||||
_beginVerification() {
|
||||
this._startService(this._getForegroundService());
|
||||
this._maybeStartFingerprintVerification().catch(logError);
|
||||
}
|
||||
|
||||
async _maybeStartFingerprintVerification() {
|
||||
if (this._userName &&
|
||||
this._fingerprintReaderType !== FingerprintReaderType.NONE &&
|
||||
!this.serviceIsForeground(FINGERPRINT_SERVICE_NAME))
|
||||
this._startService(FINGERPRINT_SERVICE_NAME);
|
||||
await this._startService(FINGERPRINT_SERVICE_NAME);
|
||||
}
|
||||
|
||||
_onChoiceListQuery(client, serviceName, promptMessage, list) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue