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

Commit 6d41fb27 authored by Mohammed Althaf T's avatar Mohammed Althaf T 😊
Browse files

AM: Logout from browser for OAuth

parent 92c8cf0a
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@ stages:
before_script:
  - echo MURENA_CLIENT_ID=$MURENA_CLIENT_ID >> local.properties
  - echo MURENA_REDIRECT_URI=$MURENA_REDIRECT_URI >> local.properties
  - echo MURENA_LOGOUT_REDIRECT_URI=$MURENA_LOGOUT_REDIRECT_URI >> local.properties
  - echo MURENA_BASE_URL=$MURENA_BASE_URL >> local.properties
  - echo MURENA_DISCOVERY_END_POINT=$MURENA_DISCOVERY_END_POINT >> local.properties
  - export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64
+1 −0
Original line number Diff line number Diff line
@@ -96,6 +96,7 @@ android {
            manifestPlaceholders.putAll(
                mapOf<String, Any>(
                    "murenaAuthRedirectScheme" to retrieveKey("MURENA_REDIRECT_URI"),
                    "murenaAuthLogoutRedirectScheme" to retrieveKey("MURENA_LOGOUT_REDIRECT_URI")
                )
            )
        }
+22 −0
Original line number Diff line number Diff line
@@ -35,6 +35,28 @@
        </activity>

        <!-- region /e/ Specific -->
        <activity android:name="foundation.e.accountmanager.ui.setup.MurenaLogoutActivity"
                android:exported="true" >
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />

                <data android:scheme="${murenaAuthLogoutRedirectScheme}" />
            </intent-filter>
        </activity>

        <receiver
                android:name="foundation.e.accountmanager.auth.AccountReceiver"
                android:enabled="true"
                android:exported="true">
            <intent-filter>
                <action android:name="android.accounts.action.ACCOUNT_REMOVED"/>
                <action android:name="android.accounts.LOGIN_ACCOUNTS_CHANGED" />
            </intent-filter>
        </receiver>

        <service
                android:name=".sync.adapter.MurenaCalendarsSyncAdapterService"
                android:exported="true"
+1 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ android {
        buildConfigField("String", "MURENA_REDIRECT_URI", "\"${retrieveKey("MURENA_REDIRECT_URI")}\"")
        buildConfigField("String", "MURENA_BASE_URL", "\"${retrieveKey("MURENA_BASE_URL")}\"")
        buildConfigField("String", "MURENA_DISCOVERY_END_POINT", "\"${retrieveKey("MURENA_DISCOVERY_END_POINT")}\"")
        buildConfigField("String", "MURENA_LOGOUT_REDIRECT_URI", "\"${retrieveKey("MURENA_LOGOUT_REDIRECT_URI")}\"")
    }

    java {
+2 −0
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ import dagger.Lazy
import dagger.hilt.android.qualifiers.ApplicationContext
import kotlinx.coroutines.CoroutineDispatcher
import foundation.e.accountmanager.AccountTypes
import foundation.e.accountmanager.pref.AuthStatePrefUtils
import foundation.e.accountmanager.utils.AccountHelper
import kotlinx.coroutines.channels.awaitClose
import kotlinx.coroutines.flow.callbackFlow
@@ -79,6 +80,7 @@ class AccountRepository @Inject constructor(

        // create Android account
        val userData = AccountSettings.initialUserData(credentials)
        AuthStatePrefUtils.saveAuthState(context, account, credentials?.authState?.jsonSerializeString())
        logger.log(Level.INFO, "Creating Android account with initial config", arrayOf(account, userData))

        if (!SystemAccountUtils.createAccount(context, account, userData, credentials?.password))
Loading