Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e172018a authored by dev-12's avatar dev-12
Browse files

Password App Integration Preparation

parent 62f11626
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -427,6 +427,18 @@
                android:resource="@xml/eelo_sync_app_data" />
        </service>

        <service
            android:name=".syncadapter.MurenaPasswordSyncAdapterService"
            android:exported="true"
            android:process=":sync"
            tools:ignore="ExportedService">
            <intent-filter>
                <action android:name="android.content.SyncAdapter" />
            </intent-filter>
            <meta-data
                android:name="android.content.SyncAdapter"
                android:resource="@xml/eelo_sync_password" />
        </service>

        <service
            android:name=".syncadapter.MurenaMeteredEdriveSyncAdapterService"
+1 −1
Original line number Diff line number Diff line
@@ -48,7 +48,7 @@ class SsoGrantPermissionViewModel @Inject constructor(
) : ViewModel() {

    private val acceptedAccountTypes = listOf(context.getString(R.string.eelo_account_type))
    private val acceptedPackages = listOf("foundation.e.notes")
    private val acceptedPackages = listOf("foundation.e.notes", "foundation.e.passwords")

    private val _permissionEvent = MutableSharedFlow<SsoGrantPermissionEvent>()
    val permissionEvent = _permissionEvent.asSharedFlow()
+37 −0
Original line number Diff line number Diff line
/*
 * Copyright MURENA SAS 2026
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 *  along with this program.  If not, see <https://www.gnu.org/licenses/>.
 */

package at.bitfire.davdroid.syncadapter

import android.accounts.Account
import android.content.ContentProviderClient
import android.content.Context
import android.content.SyncResult
import at.bitfire.davdroid.network.HttpClient

class PasswordSyncer(context: Context): Syncer(context)  {

    override fun sync(
        account: Account,
        extras: Array<String>,
        authority: String,
        httpClient: Lazy<HttpClient>,
        provider: ContentProviderClient,
        syncResult: SyncResult
    ) {
        //unused
    }
}
+1 −0
Original line number Diff line number Diff line
@@ -134,6 +134,7 @@ class MurenaTasksSyncAdapterService: SyncAdapterService()
class MurenaMediaSyncAdapterService: SyncAdapterService()
class MurenaAppDataSyncAdapterService:SyncAdapterService()
class MurenaMeteredEdriveSyncAdapterService: SyncAdapterService()
class MurenaPasswordSyncAdapterService: SyncAdapterService()

class GoogleAddressBooksSyncAdapterService: SyncAdapterService()
class GoogleCalendarsSyncAdapterService: SyncAdapterService()
+2 −0
Original line number Diff line number Diff line
@@ -330,6 +330,8 @@ class SyncWorker @AssistedInject constructor(
                AppDataSyncer(applicationContext)
            applicationContext.getString(R.string.metered_edrive_authority) ->
                MeteredEDriveSyncer(applicationContext)
            applicationContext.getString(R.string.password_authority) ->
                PasswordSyncer(context = applicationContext)
            else ->
                throw IllegalArgumentException("Invalid authority $authority")
        }
Loading