mirror of
https://github.com/yuliskov/SmartTube.git
synced 2026-02-19 21:41:50 -06:00
menu items activation fix; improve profile selection
This commit is contained in:
@@ -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() {
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user