Added multi account feature
This commit is contained in:
@@ -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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user