diff --git a/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/prefs/AppPrefs.java b/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/prefs/AppPrefs.java index f194805a9..3f2ef69fc 100644 --- a/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/prefs/AppPrefs.java +++ b/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/prefs/AppPrefs.java @@ -4,6 +4,7 @@ import android.annotation.SuppressLint; import android.content.Context; import android.text.TextUtils; import com.liskovsoft.mediaserviceinterfaces.data.Account; +import com.liskovsoft.sharedutils.helpers.Helpers; import com.liskovsoft.sharedutils.misc.WeakHashSet; import com.liskovsoft.sharedutils.prefs.SharedPreferencesBase; import com.liskovsoft.smartyoutubetv2.common.R; @@ -47,8 +48,9 @@ public class AppPrefs extends SharedPreferencesBase implements AccountChangeList @Override public void onAccountChanged(Account account) { - selectAccount(account); - onProfileChanged(); + if (selectProfile(account)) { + onProfileChanged(); + } } public static AppPrefs instance(Context context) { @@ -159,16 +161,19 @@ public class AppPrefs extends SharedPreferencesBase implements AccountChangeList return getString(LAST_PROFILE_NAME, null); } - private void selectAccount(Account account) { - selectProfile(account != null && account.getName() != null ? account.getName().replace(" ", "_") : null); - } + private boolean selectProfile(Account account) { + String profileName = account != null && account.getName() != null ? account.getName().replace(" ", "_") : null; - private void selectProfile(String profileName) { if (profileName == null) { profileName = ANONYMOUS_PROFILE_NAME; } + if (Helpers.equals(profileName, getProfileName())) { + return false; + } + setProfileName(profileName); + return true; } private void onProfileChanged() { diff --git a/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/prefs/MainUIData.java b/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/prefs/MainUIData.java index 479e1d63c..d70c9b053 100644 --- a/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/prefs/MainUIData.java +++ b/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/prefs/MainUIData.java @@ -425,9 +425,20 @@ public class MainUIData extends DataChangeBase implements ProfileChangeListener mCardPreviewType = Helpers.parseInt(split, 21, CARD_PREVIEW_DISABLED); mIsUnlocalizedTitlesEnabled = Helpers.parseBoolean(split, 22, false); + int idx = -1; for (Long menuItem : MENU_ITEM_DEFAULT_ORDER) { + idx++; if (!mMenuItemsOrdered.contains(menuItem)) { - mMenuItemsOrdered.add(menuItem); + if (idx < mMenuItemsOrdered.size()) { + mMenuItemsOrdered.add(idx, menuItem); + } else { + mMenuItemsOrdered.add(menuItem); + } + + boolean isEnabled = (MENU_ITEM_DEFAULT & menuItem) == menuItem; + if (isEnabled) { + mMenuItems |= menuItem; + } } }