Added multi account feature

This commit is contained in:
gdlbo
2022-03-31 19:22:37 +03:00
parent 4615a174f0
commit 481e3ba041
3 changed files with 88 additions and 58 deletions
@@ -2,12 +2,9 @@ package ru.vtosters.lite.ui.fragments;
import static android.content.Context.MODE_PRIVATE;
import static ru.vtosters.lite.utils.Helper.GetContext;
import static ru.vtosters.lite.utils.Helper.GetPreferences;
import static ru.vtosters.lite.utils.Helper.getUserLastName;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.v7.preference.Preference;
import com.vk.audio.AudioMessageUtils;
import com.vk.auth.api.VKAccount;
@@ -20,8 +17,6 @@ import com.vtosters.lite.auth.VKAccountManager;
import com.vtosters.lite.fragments.MaterialPreferenceToolbarFragment;
import com.vtosters.lite.im.ImEngineProvider;
import ru.vtosters.lite.tgs.TGPref;
import ru.vtosters.lite.tgs.TGRoot;
import ru.vtosters.lite.ui.PreferencesUtil;
import ru.vtosters.lite.utils.AccountManager;
import ru.vtosters.lite.utils.Helper;
@@ -32,18 +27,12 @@ public class AccountsFragment extends MaterialPreferenceToolbarFragment {
public void b(Bundle bundle) {
super.b(bundle);
ToastUtils.a(AccountManager.getAvalibleAcc());
int vtosterXml = Helper.GetContext().getResources().getIdentifier("empty", "xml", Helper.GetContext().getPackageName());
this.a(vtosterXml);
PreferencesUtil.addPreferenceCategory(this, "Аккаунты");
PreferencesUtil.addListPreference(this, "account", "", "Выберите аккаунт", new CharSequence[]{
AccountManager.getName("0"), AccountManager.getName("1")
}, new String[]{
"0", "1"
});
PreferencesUtil.addListPreference(this, "account", "", "Выберите аккаунт", AccountManager.getAccAmountNames(), AccountManager.getAccAmount());
a("account").b(AccountManager.getCurrentAccountName());
@@ -62,7 +51,7 @@ public class AccountsFragment extends MaterialPreferenceToolbarFragment {
PreferencesUtil.addPreference(this, "newacc", "Добавить аккаунт", "", null, preference -> {
SharedPreferences sharedPrefs = GetContext().getSharedPreferences("com.vtosters.lite_preferences", MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPrefs.edit();
editor.putString("account", Integer.toString(AccountManager.getAvalibleAccInt() + 1));
editor.putString("account", Integer.toString(AccountManager.getAvalibleAcc()));
editor.commit();
VKImageLoader.b();
@@ -75,12 +64,10 @@ public class AccountsFragment extends MaterialPreferenceToolbarFragment {
ToastUtils.a("Перезапустите приложение");
return false;
});
}
@Override
public int aq() {
return Helper.GetContext().getResources().getIdentifier("sett_account", "string", Helper.GetContext().getPackageName());
}
}
@@ -5,6 +5,7 @@ import static ru.vtosters.lite.utils.Helper.GetContext;
import android.content.SharedPreferences;
import java.util.ArrayList;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -42,7 +43,7 @@ public class AccountManager {
return "err";
}
public static String getAvalibleAcc() {
public static int getAvalibleAcc() {
int intg = 0;
while (true) {
if (getName(Integer.toString(intg)) != "err") {
@@ -50,19 +51,38 @@ public class AccountManager {
} else {
break;
}
};
return Integer.toString(intg);
}
public static int getAvalibleAccInt() {
int intg = 0;
while (true) {
if (getName(Integer.toString(intg)) != "err") {
intg++;
} else {
break;
}
};
}
;
return intg;
}
public static CharSequence[] getAccAmountNames() {
int intg = 0;
ArrayList<String> list = new ArrayList<String>();
while (true) {
if (getName(Integer.toString(intg)) != "err") {
list.add(getName(Integer.toString(intg)));
intg++;
} else {
break;
}
};
final CharSequence[] charSequenceItems = list.toArray(new CharSequence[list.size()]);
return charSequenceItems;
}
public static CharSequence[] getAccAmount() {
int intg = 0;
ArrayList<String> list = new ArrayList<String>();
while (true) {
if (getName(Integer.toString(intg)) != "err") {
list.add(Integer.toString(intg));
intg++;
} else {
break;
}
};
final CharSequence[] charSequenceItems = list.toArray(new CharSequence[list.size()]);
return charSequenceItems;
}
}
@@ -122,35 +122,6 @@
if-eqz v5, :cond_7
new-instance v5, Lcom/vtosters/lite/fragments/SettingsListFragment$a;
const v6, 0x7f08063e
iget-object v7, p0, Lcom/vtosters/lite/fragments/SettingsListFragment$b;->a:Lcom/vtosters/lite/fragments/SettingsListFragment;
invoke-static {v7}, Lcom/vtosters/lite/fragments/SettingsListFragment;->a(Lcom/vtosters/lite/fragments/SettingsListFragment;)I
move-result v7
# const v8, 0x7f110fef
# invoke-static {v8}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
# move-result-object v8
const-string v8, "Мультиаккаунт"
const-class v9, Lru/vtosters/lite/ui/fragments/AccountsFragment;
invoke-direct {v5, v6, v7, v8, v9}, Lcom/vtosters/lite/fragments/SettingsListFragment$a;-><init>(IILjava/lang/Object;Ljava/lang/Class;)V
invoke-static {v4, v5}, Lcom/vtosters/lite/ui/holder/RecyclerSectionAdapter$a;->a(ILjava/lang/Object;)Lcom/vtosters/lite/ui/holder/RecyclerSectionAdapter$a;
move-result-object v5
invoke-virtual {v0, v5}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
new-instance v5, Lcom/vtosters/lite/fragments/SettingsListFragment$a;
const v6, 0x7f0802d3
@@ -1129,6 +1100,58 @@
invoke-virtual {v0, v5}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
invoke-static {v3, v2}, Lcom/vtosters/lite/ui/holder/RecyclerSectionAdapter$a;->d(ILjava/lang/Object;)Lcom/vtosters/lite/ui/holder/RecyclerSectionAdapter$a;
move-result-object v2
invoke-virtual {v0, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
invoke-static {v3, v2}, Lcom/vtosters/lite/ui/holder/RecyclerSectionAdapter$a;->c(ILjava/lang/Object;)Lcom/vtosters/lite/ui/holder/RecyclerSectionAdapter$a;
move-result-object v2
invoke-virtual {v0, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
new-instance v5, Lcom/vtosters/lite/fragments/SettingsListFragment$a;
const v6, 0x7f08063e
iget-object v7, p0, Lcom/vtosters/lite/fragments/SettingsListFragment$b;->a:Lcom/vtosters/lite/fragments/SettingsListFragment;
invoke-static {v7}, Lcom/vtosters/lite/fragments/SettingsListFragment;->a(Lcom/vtosters/lite/fragments/SettingsListFragment;)I
move-result v7
const v8, 0x7f110ff8
invoke-static {v8}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v8
const-string v8, "Аккаунты"
const-class v9, Lru/vtosters/lite/ui/fragments/AccountsFragment;
invoke-direct {v5, v6, v7, v8, v9}, Lcom/vtosters/lite/fragments/SettingsListFragment$a;-><init>(IILjava/lang/Object;Ljava/lang/Class;)V
invoke-static {v4, v5}, Lcom/vtosters/lite/ui/holder/RecyclerSectionAdapter$a;->a(ILjava/lang/Object;)Lcom/vtosters/lite/ui/holder/RecyclerSectionAdapter$a;
move-result-object v5
invoke-virtual {v0, v5}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 252
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;