Loading app/src/main/java/foundation/e/drive/account/AccountUtils.kt +21 −0 Original line number Diff line number Diff line Loading @@ -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 { Loading Loading @@ -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 } } app/src/main/java/foundation/e/drive/activity/AccountsActivity.java +2 −1 Original line number Diff line number Diff line Loading @@ -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()) { Loading Loading @@ -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); }); Loading app/src/main/java/foundation/e/drive/widgets/EDriveWidget.java +3 −2 Original line number Diff line number Diff line Loading @@ -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¤t-quota=%s&from=wp"; "https://murena.com/ecloud-subscriptions/?username=%s&token=%s¤t-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"; Loading Loading @@ -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); Loading Loading @@ -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); } Loading Loading
app/src/main/java/foundation/e/drive/account/AccountUtils.kt +21 −0 Original line number Diff line number Diff line Loading @@ -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 { Loading Loading @@ -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 } }
app/src/main/java/foundation/e/drive/activity/AccountsActivity.java +2 −1 Original line number Diff line number Diff line Loading @@ -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()) { Loading Loading @@ -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); }); Loading
app/src/main/java/foundation/e/drive/widgets/EDriveWidget.java +3 −2 Original line number Diff line number Diff line Loading @@ -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¤t-quota=%s&from=wp"; "https://murena.com/ecloud-subscriptions/?username=%s&token=%s¤t-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"; Loading Loading @@ -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); Loading Loading @@ -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); } Loading