Skip to content

Commit 3c56e2f

Browse files
committed
Passwords
1 parent 07b7bb1 commit 3c56e2f

40 files changed

Lines changed: 11066 additions & 1051 deletions

.dart_tool/build/fcd1995bc647fb959e82ea360c6c2c9a/asset_graph.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

android/app/build.gradle

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,4 +198,13 @@ dependencies {
198198

199199
// Add this line if you want to support Shizuku
200200
implementation "dev.rikka.shizuku:provider:$shizuku_version"
201+
202+
// support credential provider
203+
implementation "androidx.credentials:credentials:1.6.0-rc01"
204+
implementation "androidx.biometric:biometric:1.1.0"
205+
206+
// CBOR encoding (WebAuthn)
207+
implementation "com.upokecenter:cbor:4.5.2"
208+
209+
implementation "androidx.autofill:autofill:1.3.0"
201210
}

android/app/src/main/AndroidManifest.xml

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
<!-- Core Functions -->
2020
<uses-permission android:name="android.permission.CAMERA" />
2121
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
22+
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
2223
<uses-permission android:name="android.permission.INTERNET" />
2324
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
2425
<uses-permission android:name="android.permission.VIBRATE" />
@@ -102,6 +103,18 @@
102103
android:theme="@style/Theme.Material3.DayNight.Dialog.Alert"
103104
android:taskAffinity=".AuthCode"/>
104105

106+
<activity android:name=".services.credentials.CredentialCreateActivity"
107+
android:theme="@style/Theme.Material3.DayNight.Dialog.Alert"
108+
android:taskAffinity=".CredentialCreate"/>
109+
110+
<activity android:name=".services.credentials.CredentialGetActivity"
111+
android:theme="@style/Theme.Material3.DayNight.Dialog.Alert"
112+
android:taskAffinity=".CredentialGet"/>
113+
114+
<activity android:name=".services.credentials.CredentialSettingsActivity"
115+
android:theme="@style/Theme.Material3.DayNight.Dialog.Alert"
116+
android:taskAffinity=".CredentialSettings"/>
117+
105118
<receiver
106119
android:name=".PDUReceiver"
107120
android:exported="true">
@@ -138,6 +151,35 @@
138151
</service>
139152
<service android:name="com.android.mms.transaction.TransactionService" />
140153

154+
<service android:name=".services.credentials.CredentialService"
155+
android:enabled="true"
156+
android:exported="true"
157+
android:label="iCloud Passwords"
158+
android:icon="@mipmap/ic_launcher"
159+
android:permission="android.permission.BIND_CREDENTIAL_PROVIDER_SERVICE"
160+
tools:targetApi="upside_down_cake">
161+
<intent-filter>
162+
<action android:name="android.service.credentials.CredentialProviderService"/>
163+
</intent-filter>
164+
<meta-data
165+
android:name="android.credentials.provider"
166+
android:resource="@xml/provider"/>
167+
</service>
168+
169+
<service
170+
android:name=".services.credentials.OBAutofillService"
171+
android:label="iCloud Passwords"
172+
android:exported="true"
173+
android:permission="android.permission.BIND_AUTOFILL_SERVICE"
174+
tools:targetApi="27">
175+
<intent-filter>
176+
<action android:name="android.service.autofill.AutofillService" />
177+
</intent-filter>
178+
<meta-data
179+
android:name="android.autofill"
180+
android:resource="@xml/autofill_service" />
181+
</service>
182+
141183
<receiver android:name=".services.intents.InternalIntentReceiver" />
142184
<receiver
143185
android:name=".services.intents.ExternalIntentReceiver"
@@ -426,4 +468,4 @@
426468
android:value="landscape" />
427469
</application>
428470

429-
</manifest>
471+
</manifest>

android/app/src/main/kotlin/com/bluebubbles/messaging/services/backend_ui_interop/MethodCallHandler.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ import com.bluebubbles.messaging.services.system.BrowserLaunchRequestHandler
3131
import com.bluebubbles.messaging.services.system.CheckChromeOsHandler
3232
import com.bluebubbles.messaging.services.system.NewContactFormRequestHandler
3333
import com.bluebubbles.messaging.services.system.OpenCalendarRequestHandler
34+
import com.bluebubbles.messaging.services.credentials.OpenAutofillProviderSettingsHandler
3435
import com.bluebubbles.messaging.services.system.OpenConversationNotificationSettingsHandler
3536
import com.bluebubbles.messaging.services.system.OpenExistingContactRequestHandler
3637
import com.bluebubbles.messaging.services.system.PushShareTargetsHandler
@@ -96,6 +97,7 @@ class MethodCallHandler {
9697
NewContactFormRequestHandler.tag -> NewContactFormRequestHandler().handleMethodCall(call, result, context)
9798
OpenExistingContactRequestHandler.tag -> OpenExistingContactRequestHandler().handleMethodCall(call, result, context)
9899
OpenCalendarRequestHandler.tag -> OpenCalendarRequestHandler().handleMethodCall(call, result, context)
100+
OpenAutofillProviderSettingsHandler.tag -> OpenAutofillProviderSettingsHandler().handleMethodCall(call, result, context)
99101
StartGoogleDuoRequestHandler.tag -> StartGoogleDuoRequestHandler().handleMethodCall(call, result, context)
100102
CheckChromeOsHandler.tag -> CheckChromeOsHandler().handleMethodCall(call, result, context)
101103
NotificationListenerPermissionRequestHandler.tag -> {
@@ -149,4 +151,4 @@ class MethodCallHandler {
149151
}
150152
}
151153
}
152-
}
154+
}

0 commit comments

Comments
 (0)