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

Commit fb4573a4 authored by Vincent Bourgmayer's avatar Vincent Bourgmayer
Browse files

Merge branch '299-start-eDrive-with-broadcast' into 'main'

[AccountManager][Remove eDrive persistent flag] change way to trigger eDrive when adding account

See merge request !108
parents d832c9fd 62b04dc9
Loading
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -27,6 +27,8 @@
    <!-- android.permission-group.CALENDAR -->
    <uses-permission android:name="android.permission.READ_CALENDAR"/>
    <uses-permission android:name="android.permission.WRITE_CALENDAR"/>
    <!-- android.permission.eDrive -->
    <uses-permission android:name="foundation.e.permission.ADD_ACCOUNT"/>

    <!-- android.permission-group.LOCATION -->
    <!-- getting the WiFi name (for "sync in Wifi only") requires
+17 −5
Original line number Diff line number Diff line
@@ -178,11 +178,7 @@ class AccountDetailsFragment : Fragment() {
                        }

                        if (requireActivity().intent.getStringExtra(LoginActivity.ACCOUNT_TYPE) == getString(R.string.eelo_account_type)) {
                            val intent = Intent("drive.services.InitializerService")
                            intent.setPackage(getString(R.string.e_drive_package_name))
                            intent.putExtra(AccountManager.KEY_ACCOUNT_NAME, name)
                            intent.putExtra(AccountManager.KEY_ACCOUNT_TYPE, getString(R.string.eelo_account_type))
                            requireActivity().startService(intent)
                            notifyEdrive(name)
                        }

                        handlePostAuthOperations()
@@ -194,6 +190,22 @@ class AccountDetailsFragment : Fragment() {
        return v.root
    }


    private fun notifyEdrive(name: String) {
        val intent = Intent("foundation.e.drive.action.ADD_ACCOUNT")
        intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES)
        intent.component =
            ComponentName(
                getString(R.string.e_drive_package_name), 
                "foundation.e.drive.account.receivers.AccountAddedReceiver"
            )

        intent.putExtra(AccountManager.KEY_ACCOUNT_NAME, name)
        intent.putExtra(AccountManager.KEY_ACCOUNT_TYPE, getString(R.string.eelo_account_type))
        requireActivity().sendBroadcast(intent)
    }


    private fun handlePostAuthOperations() {
        val packageToBeOpened = requireActivity().intent.getStringExtra(LoginActivity.OPEN_APP_PACKAGE_AFTER_AUTH)
        val activityToBeOpened = requireActivity().intent.getStringExtra(LoginActivity.OPEN_APP_ACTIVITY_AFTER_AUTH)