mirror of
https://codeberg.org/Bazsalanszky/Infinity-For-Lemmy.git
synced 2025-02-05 14:14:47 +01:00
Profile page to display the correct info
Fixes issue #6 Signed-off-by: Balazs Toldi <balazs@toldi.eu>
This commit is contained in:
parent
8bd9042ad5
commit
4fe4b1e692
@ -30,16 +30,16 @@ import javax.inject.Named;
|
|||||||
|
|
||||||
import butterknife.BindView;
|
import butterknife.BindView;
|
||||||
import butterknife.ButterKnife;
|
import butterknife.ButterKnife;
|
||||||
import eu.toldi.infinityforlemmy.RetrofitHolder;
|
|
||||||
import eu.toldi.infinityforlemmy.dto.AccountLoginDTO;
|
|
||||||
import eu.toldi.infinityforlemmy.apis.LemmyAPI;
|
|
||||||
import eu.toldi.infinityforlemmy.FetchMyInfo;
|
import eu.toldi.infinityforlemmy.FetchMyInfo;
|
||||||
import eu.toldi.infinityforlemmy.Infinity;
|
import eu.toldi.infinityforlemmy.Infinity;
|
||||||
import eu.toldi.infinityforlemmy.R;
|
import eu.toldi.infinityforlemmy.R;
|
||||||
import eu.toldi.infinityforlemmy.RedditDataRoomDatabase;
|
import eu.toldi.infinityforlemmy.RedditDataRoomDatabase;
|
||||||
|
import eu.toldi.infinityforlemmy.RetrofitHolder;
|
||||||
|
import eu.toldi.infinityforlemmy.apis.LemmyAPI;
|
||||||
import eu.toldi.infinityforlemmy.asynctasks.ParseAndInsertNewAccount;
|
import eu.toldi.infinityforlemmy.asynctasks.ParseAndInsertNewAccount;
|
||||||
import eu.toldi.infinityforlemmy.customtheme.CustomThemeWrapper;
|
import eu.toldi.infinityforlemmy.customtheme.CustomThemeWrapper;
|
||||||
import eu.toldi.infinityforlemmy.customviews.slidr.Slidr;
|
import eu.toldi.infinityforlemmy.customviews.slidr.Slidr;
|
||||||
|
import eu.toldi.infinityforlemmy.dto.AccountLoginDTO;
|
||||||
import eu.toldi.infinityforlemmy.utils.SharedPreferencesUtils;
|
import eu.toldi.infinityforlemmy.utils.SharedPreferencesUtils;
|
||||||
import eu.toldi.infinityforlemmy.utils.Utils;
|
import eu.toldi.infinityforlemmy.utils.Utils;
|
||||||
import retrofit2.Call;
|
import retrofit2.Call;
|
||||||
@ -157,7 +157,8 @@ public class LoginActivity extends BaseActivity {
|
|||||||
@Override
|
@Override
|
||||||
public void onFetchMyInfoSuccess(String name,String display_name, String profileImageUrl, String bannerImageUrl) {
|
public void onFetchMyInfoSuccess(String name,String display_name, String profileImageUrl, String bannerImageUrl) {
|
||||||
mCurrentAccountSharedPreferences.edit().putString(SharedPreferencesUtils.ACCESS_TOKEN, accessToken)
|
mCurrentAccountSharedPreferences.edit().putString(SharedPreferencesUtils.ACCESS_TOKEN, accessToken)
|
||||||
.putString(SharedPreferencesUtils.ACCOUNT_NAME, name)
|
.putString(SharedPreferencesUtils.ACCOUNT_NAME, display_name)
|
||||||
|
.putString(SharedPreferencesUtils.ACCOUNT_QUALIFIED_NAME, name)
|
||||||
.putString(SharedPreferencesUtils.ACCOUNT_INSTANCE,instance)
|
.putString(SharedPreferencesUtils.ACCOUNT_INSTANCE,instance)
|
||||||
.putString(SharedPreferencesUtils.ACCOUNT_IMAGE_URL, profileImageUrl).apply();
|
.putString(SharedPreferencesUtils.ACCOUNT_IMAGE_URL, profileImageUrl).apply();
|
||||||
ParseAndInsertNewAccount.parseAndInsertNewAccount(mExecutor, new Handler(), name,display_name, accessToken, profileImageUrl, bannerImageUrl, authCode,instance, mRedditDataRoomDatabase.accountDao(),
|
ParseAndInsertNewAccount.parseAndInsertNewAccount(mExecutor, new Handler(), name,display_name, accessToken, profileImageUrl, bannerImageUrl, authCode,instance, mRedditDataRoomDatabase.accountDao(),
|
||||||
|
@ -217,6 +217,8 @@ public class MainActivity extends BaseActivity implements SortTypeSelectionCallb
|
|||||||
private Call<String> subredditAutocompleteCall;
|
private Call<String> subredditAutocompleteCall;
|
||||||
private String mAccessToken;
|
private String mAccessToken;
|
||||||
private String mAccountName;
|
private String mAccountName;
|
||||||
|
|
||||||
|
private String mAccountQualifiedName;
|
||||||
private boolean mFetchUserInfoSuccess = false;
|
private boolean mFetchUserInfoSuccess = false;
|
||||||
private boolean mFetchSubscriptionsSuccess = false;
|
private boolean mFetchSubscriptionsSuccess = false;
|
||||||
private boolean mDrawerOnAccountSwitch = false;
|
private boolean mDrawerOnAccountSwitch = false;
|
||||||
@ -323,6 +325,7 @@ public class MainActivity extends BaseActivity implements SortTypeSelectionCallb
|
|||||||
|
|
||||||
mAccessToken = mCurrentAccountSharedPreferences.getString(SharedPreferencesUtils.ACCESS_TOKEN, null);
|
mAccessToken = mCurrentAccountSharedPreferences.getString(SharedPreferencesUtils.ACCESS_TOKEN, null);
|
||||||
mAccountName = mCurrentAccountSharedPreferences.getString(SharedPreferencesUtils.ACCOUNT_NAME, null);
|
mAccountName = mCurrentAccountSharedPreferences.getString(SharedPreferencesUtils.ACCOUNT_NAME, null);
|
||||||
|
mAccountQualifiedName = mCurrentAccountSharedPreferences.getString(SharedPreferencesUtils.ACCOUNT_QUALIFIED_NAME, null);
|
||||||
String instance = mCurrentAccountSharedPreferences.getString(SharedPreferencesUtils.ACCOUNT_INSTANCE, null);
|
String instance = mCurrentAccountSharedPreferences.getString(SharedPreferencesUtils.ACCOUNT_INSTANCE, null);
|
||||||
if(instance != null) {
|
if(instance != null) {
|
||||||
mRetrofit.setBaseURL(instance);
|
mRetrofit.setBaseURL(instance);
|
||||||
@ -383,8 +386,8 @@ public class MainActivity extends BaseActivity implements SortTypeSelectionCallb
|
|||||||
WorkManager workManager = WorkManager.getInstance(this);
|
WorkManager workManager = WorkManager.getInstance(this);
|
||||||
|
|
||||||
if (mNewAccountName != null) {
|
if (mNewAccountName != null) {
|
||||||
if (mAccountName == null || !mAccountName.equals(mNewAccountName)) {
|
if (mAccountQualifiedName == null || !mAccountName.equals(mNewAccountName)) {
|
||||||
SwitchAccount.switchAccount(mRedditDataRoomDatabase,mRetrofit, mCurrentAccountSharedPreferences,
|
SwitchAccount.switchAccount(mRedditDataRoomDatabase, mRetrofit, mCurrentAccountSharedPreferences,
|
||||||
mExecutor, new Handler(), mNewAccountName, newAccount -> {
|
mExecutor, new Handler(), mNewAccountName, newAccount -> {
|
||||||
EventBus.getDefault().post(new SwitchAccountEvent(getClass().getName()));
|
EventBus.getDefault().post(new SwitchAccountEvent(getClass().getName()));
|
||||||
Toast.makeText(this, R.string.account_switched, Toast.LENGTH_SHORT).show();
|
Toast.makeText(this, R.string.account_switched, Toast.LENGTH_SHORT).show();
|
||||||
@ -392,7 +395,8 @@ public class MainActivity extends BaseActivity implements SortTypeSelectionCallb
|
|||||||
mNewAccountName = null;
|
mNewAccountName = null;
|
||||||
if (newAccount != null) {
|
if (newAccount != null) {
|
||||||
mAccessToken = newAccount.getAccessToken();
|
mAccessToken = newAccount.getAccessToken();
|
||||||
mAccountName = newAccount.getAccountName();
|
mAccountName = newAccount.getDisplay_name();
|
||||||
|
mAccountQualifiedName = newAccount.getAccountName();
|
||||||
}
|
}
|
||||||
|
|
||||||
setNotification(workManager, notificationInterval, timeUnit, enableNotification);
|
setNotification(workManager, notificationInterval, timeUnit, enableNotification);
|
||||||
@ -452,6 +456,7 @@ public class MainActivity extends BaseActivity implements SortTypeSelectionCallb
|
|||||||
case SharedPreferencesUtils.MAIN_ACTIVITY_BOTTOM_APP_BAR_OPTION_PROFILE: {
|
case SharedPreferencesUtils.MAIN_ACTIVITY_BOTTOM_APP_BAR_OPTION_PROFILE: {
|
||||||
Intent intent = new Intent(this, ViewUserDetailActivity.class);
|
Intent intent = new Intent(this, ViewUserDetailActivity.class);
|
||||||
intent.putExtra(ViewUserDetailActivity.EXTRA_USER_NAME_KEY, mAccountName);
|
intent.putExtra(ViewUserDetailActivity.EXTRA_USER_NAME_KEY, mAccountName);
|
||||||
|
intent.putExtra(ViewUserDetailActivity.EXTRA_QUALIFIED_USER_NAME_KEY, mAccountQualifiedName);
|
||||||
intent.putExtra(ViewUserDetailActivity.EXTRA_QUALIFIED_USER_NAME_KEY, mAccountName);
|
intent.putExtra(ViewUserDetailActivity.EXTRA_QUALIFIED_USER_NAME_KEY, mAccountName);
|
||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
break;
|
break;
|
||||||
@ -786,7 +791,7 @@ public class MainActivity extends BaseActivity implements SortTypeSelectionCallb
|
|||||||
if (stringId == R.string.profile) {
|
if (stringId == R.string.profile) {
|
||||||
intent = new Intent(MainActivity.this, ViewUserDetailActivity.class);
|
intent = new Intent(MainActivity.this, ViewUserDetailActivity.class);
|
||||||
intent.putExtra(ViewUserDetailActivity.EXTRA_USER_NAME_KEY, mAccountName);
|
intent.putExtra(ViewUserDetailActivity.EXTRA_USER_NAME_KEY, mAccountName);
|
||||||
intent.putExtra(ViewUserDetailActivity.EXTRA_QUALIFIED_USER_NAME_KEY, mAccountName);
|
intent.putExtra(ViewUserDetailActivity.EXTRA_QUALIFIED_USER_NAME_KEY, mAccountQualifiedName);
|
||||||
} else if (stringId == R.string.subscriptions) {
|
} else if (stringId == R.string.subscriptions) {
|
||||||
intent = new Intent(MainActivity.this, SubscribedThingListingActivity.class);
|
intent = new Intent(MainActivity.this, SubscribedThingListingActivity.class);
|
||||||
} else if (stringId == R.string.multi_reddit) {
|
} else if (stringId == R.string.multi_reddit) {
|
||||||
|
@ -5,9 +5,9 @@ import android.os.Handler;
|
|||||||
|
|
||||||
import java.util.concurrent.Executor;
|
import java.util.concurrent.Executor;
|
||||||
|
|
||||||
|
import eu.toldi.infinityforlemmy.RedditDataRoomDatabase;
|
||||||
import eu.toldi.infinityforlemmy.RetrofitHolder;
|
import eu.toldi.infinityforlemmy.RetrofitHolder;
|
||||||
import eu.toldi.infinityforlemmy.account.Account;
|
import eu.toldi.infinityforlemmy.account.Account;
|
||||||
import eu.toldi.infinityforlemmy.RedditDataRoomDatabase;
|
|
||||||
import eu.toldi.infinityforlemmy.utils.SharedPreferencesUtils;
|
import eu.toldi.infinityforlemmy.utils.SharedPreferencesUtils;
|
||||||
|
|
||||||
public class SwitchAccount {
|
public class SwitchAccount {
|
||||||
@ -21,7 +21,8 @@ public class SwitchAccount {
|
|||||||
Account account = redditDataRoomDatabase.accountDao().getCurrentAccount();
|
Account account = redditDataRoomDatabase.accountDao().getCurrentAccount();
|
||||||
currentAccountSharedPreferences.edit()
|
currentAccountSharedPreferences.edit()
|
||||||
.putString(SharedPreferencesUtils.ACCESS_TOKEN, account.getAccessToken())
|
.putString(SharedPreferencesUtils.ACCESS_TOKEN, account.getAccessToken())
|
||||||
.putString(SharedPreferencesUtils.ACCOUNT_NAME, account.getAccountName())
|
.putString(SharedPreferencesUtils.ACCOUNT_NAME, account.getDisplay_name())
|
||||||
|
.putString(SharedPreferencesUtils.ACCOUNT_QUALIFIED_NAME, account.getAccountName())
|
||||||
.putString(SharedPreferencesUtils.ACCOUNT_INSTANCE,account.getInstance_url())
|
.putString(SharedPreferencesUtils.ACCOUNT_INSTANCE,account.getInstance_url())
|
||||||
.putString(SharedPreferencesUtils.ACCOUNT_IMAGE_URL, account.getProfileImageUrl()).apply();
|
.putString(SharedPreferencesUtils.ACCOUNT_IMAGE_URL, account.getProfileImageUrl()).apply();
|
||||||
retrofitHolder.setBaseURL(account.getInstance_url());
|
retrofitHolder.setBaseURL(account.getInstance_url());
|
||||||
|
@ -395,4 +395,5 @@ public class SharedPreferencesUtils {
|
|||||||
public static final String CONFIRM_TO_EXIT_LEGACY = "confirm_to_exit";
|
public static final String CONFIRM_TO_EXIT_LEGACY = "confirm_to_exit";
|
||||||
public static final String OPEN_LINK_IN_APP_LEGACY = "open_link_in_app";
|
public static final String OPEN_LINK_IN_APP_LEGACY = "open_link_in_app";
|
||||||
public static final String ACCOUNT_INSTANCE = "account_instance";
|
public static final String ACCOUNT_INSTANCE = "account_instance";
|
||||||
|
public static final String ACCOUNT_QUALIFIED_NAME = "account_qualified_name";
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user