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

Commit 536e5407 authored by Fahim Salam Chowdhury's avatar Fahim Salam Chowdhury 👽
Browse files

feat: pass token for shop endPoint

parent ee850977
Loading
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
@@ -19,9 +19,13 @@ package foundation.e.drive.account
import android.accounts.Account
import android.accounts.AccountManager
import android.content.Context
import com.owncloud.android.lib.common.accounts.AccountUtils
import foundation.e.drive.R
import foundation.e.drive.utils.AppConstants.ACCOUNT_DATA_GROUPS
import foundation.e.drive.utils.AppConstants.SHARED_PREFERENCE_NAME
import net.openid.appauth.AuthState
import org.json.JSONException
import timber.log.Timber

object AccountUtils {

@@ -76,4 +80,21 @@ object AccountUtils {
            accountManager.getAccountsByType(context.getString(R.string.eelo_account_type))
        return accountList.isNotEmpty()
    }

    @JvmStatic
    fun getAccessToken(accountManager: AccountManager, account: Account?): String {
        val authState = accountManager.getUserData(account, AccountUtils.Constants.KEY_AUTH_STATE)
        val placeHolder = "placeholder"
        if (authState.isNullOrBlank()) {
            return placeHolder
        }

        try {
            return AuthState.jsonDeserialize(authState).accessToken ?: placeHolder
        } catch (e: JSONException) {
            Timber.e(e)
        }

        return placeHolder
    }
}
+2 −1
Original line number Diff line number Diff line
@@ -78,6 +78,7 @@ public class AccountsActivity extends AppCompatActivity {
        final String totalQuota = accountManager.getUserData(account, ACCOUNT_DATA_TOTAL_QUOTA_KEY);
        final String email = accountManager.getUserData(account, ACCOUNT_DATA_EMAIL);
        String name = accountManager.getUserData(account, ACCOUNT_DATA_NAME);
        final String token = AccountUtils.getAccessToken(accountManager, account);

        // For some reason if we cant get name use email as name
        if (name == null || name.isEmpty()) {
@@ -140,7 +141,7 @@ public class AccountsActivity extends AppCompatActivity {
        binding.upgrade.setVisibility(View.VISIBLE);
        binding.upgrade.setOnClickListener(v -> {
            final Intent upgradeIntent = buildIntent(Intent.ACTION_VIEW,
                    String.format(EDriveWidget.WEBPAGE, email,
                    String.format(EDriveWidget.WEBPAGE, email, token,
                            dataForWeb(totalQuota)));
            startActivity(upgradeIntent);
        });
+3 −2
Original line number Diff line number Diff line
@@ -51,7 +51,7 @@ import timber.log.Timber;
public class EDriveWidget extends AppWidgetProvider {

    public static final String WEBPAGE =
            "https://murena.com/ecloud-subscriptions/?username=%s&token=placeholder&current-quota=%s&from=wp";
            "https://murena.com/ecloud-subscriptions/?username=%s&token=%s&current-quota=%s&from=wp";
    private static final String ADD_ACCOUNT_WEBPAGE = "https://murena.io/signup/e-email-invite";

    private static final String ACCOUNT_PROVIDER_EELO = "e.foundation.webdav.eelo";
@@ -211,6 +211,7 @@ public class EDriveWidget extends AppWidgetProvider {
        final String totalQuota = accountManager.getUserData(account, ACCOUNT_DATA_TOTAL_QUOTA_KEY);
        final String email = accountManager.getUserData(account, ACCOUNT_DATA_EMAIL);
        String name = accountManager.getUserData(account, ACCOUNT_DATA_NAME);
        final String token = AccountUtils.getAccessToken(accountManager, account);

        if (email == null || email.trim().isEmpty()) {
            noAccountView(context);
@@ -298,7 +299,7 @@ public class EDriveWidget extends AppWidgetProvider {
        views.setOnClickPendingIntent(R.id.settings, pendingIntentSettings);

        final PendingIntent pendingIntentUpgrade = PendingIntent.getActivity(context, 0,
                buildIntent(Intent.ACTION_VIEW, String.format(WEBPAGE, email,
                buildIntent(Intent.ACTION_VIEW, String.format(WEBPAGE, email, token,
                        dataForWeb(totalQuota))), PendingIntent.FLAG_IMMUTABLE);
        views.setOnClickPendingIntent(R.id.upgrade, pendingIntentUpgrade);
    }