mirror of
https://github.com/bitwarden/android.git
synced 2025-03-15 18:58:59 +03:00
BIT-1293: add autofill service shell (#468)
This commit is contained in:
parent
7a8da67944
commit
738cd76c7d
3 changed files with 95 additions and 0 deletions
|
@ -40,6 +40,16 @@
|
|||
android:scheme="bitwarden" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
|
||||
<service
|
||||
android:name=".autofill.BitwardenAutofillService"
|
||||
android:label="Bitwarden"
|
||||
android:permission="android.permission.BIND_AUTOFILL_SERVICE"
|
||||
android:exported="true">
|
||||
<intent-filter>
|
||||
<action android:name="android.service.autofill.AutofillService" />
|
||||
</intent-filter>
|
||||
</service>
|
||||
</application>
|
||||
|
||||
</manifest>
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
package com.x8bit.bitwarden.autofill
|
||||
|
||||
import android.os.CancellationSignal
|
||||
import android.service.autofill.AutofillService
|
||||
import android.service.autofill.FillCallback
|
||||
import android.service.autofill.FillRequest
|
||||
import android.service.autofill.SaveCallback
|
||||
import android.service.autofill.SaveRequest
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
|
||||
/**
|
||||
* The [AutofillService] implementation for the app. This fulfills autofill requests from other
|
||||
* applications.
|
||||
*/
|
||||
@AndroidEntryPoint
|
||||
class BitwardenAutofillService : AutofillService() {
|
||||
override fun onFillRequest(
|
||||
request: FillRequest,
|
||||
cancellationSignal: CancellationSignal,
|
||||
fillCallback: FillCallback,
|
||||
) {
|
||||
// TODO: parse request and perform dummy autofill (BIT-1314)
|
||||
}
|
||||
|
||||
override fun onSaveRequest(
|
||||
saverRequest: SaveRequest,
|
||||
saveCallback: SaveCallback,
|
||||
) {
|
||||
// TODO: add save request behavior (BIT-1299)
|
||||
}
|
||||
}
|
|
@ -0,0 +1,54 @@
|
|||
package com.x8bit.bitwarden.autofill
|
||||
|
||||
import android.os.CancellationSignal
|
||||
import android.service.autofill.FillCallback
|
||||
import android.service.autofill.FillRequest
|
||||
import android.service.autofill.SaveCallback
|
||||
import android.service.autofill.SaveRequest
|
||||
import io.mockk.mockk
|
||||
import org.junit.jupiter.api.BeforeEach
|
||||
import org.junit.jupiter.api.Nested
|
||||
import org.junit.jupiter.api.Test
|
||||
|
||||
class BitwardenAutofillServiceTests {
|
||||
private lateinit var bitwardenAutofillService: BitwardenAutofillService
|
||||
|
||||
@BeforeEach
|
||||
fun setup() {
|
||||
bitwardenAutofillService = BitwardenAutofillService()
|
||||
}
|
||||
|
||||
@Nested
|
||||
inner class OnFillRequest {
|
||||
@Test
|
||||
fun `nothing happens`() {
|
||||
// Setup
|
||||
val cancellationSignal: CancellationSignal = mockk()
|
||||
val fillCallback: FillCallback = mockk()
|
||||
val fillRequest: FillRequest = mockk()
|
||||
|
||||
// Test
|
||||
bitwardenAutofillService.onFillRequest(
|
||||
cancellationSignal = cancellationSignal,
|
||||
fillCallback = fillCallback,
|
||||
request = fillRequest,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@Nested
|
||||
inner class OnSaveRequest {
|
||||
@Test
|
||||
fun `nothing happens`() {
|
||||
// Setup
|
||||
val saverRequest: SaveRequest = mockk()
|
||||
val saveCallback: SaveCallback = mockk()
|
||||
|
||||
// Test
|
||||
bitwardenAutofillService.onSaveRequest(
|
||||
saveCallback = saveCallback,
|
||||
saverRequest = saverRequest,
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Reference in a new issue