menu items activation fix; improve profile selection

This commit is contained in:
Yuriy Liskov
2025-06-10 19:49:54 +03:00
parent c76eb413af
commit 33fcfaf9f0
2 changed files with 23 additions and 7 deletions

View File

@@ -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() {

View File

@@ -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;
}
}
}