From f527e8a14349cf0550150e82fd575148e5b5b522 Mon Sep 17 00:00:00 2001 From: Boulay Mathias Date: Fri, 3 Jun 2022 16:22:40 +0200 Subject: [PATCH] Fix newly created profiles not getting selected internally --- .../pojavlaunch/PojavLauncherActivity.java | 30 +++++++++++-------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/PojavLauncherActivity.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/PojavLauncherActivity.java index 0e1cf660b..a94f2b350 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/PojavLauncherActivity.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/PojavLauncherActivity.java @@ -197,10 +197,12 @@ public class PojavLauncherActivity extends BaseLauncherActivity LauncherProfiles.update(); profileAdapter.notifyDataSetChanged(); if(isNew) { - mVersionSelector.setSelection(profileAdapter.resolveProfileIndex(name)); + int newPosition = profileAdapter.resolveProfileIndex(name); + setProfileSelection(newPosition); + return; } if(deleting) { - mVersionSelector.setSelection(0); + setProfileSelection(0); } }); @@ -209,25 +211,17 @@ public class PojavLauncherActivity extends BaseLauncherActivity mVersionSelector.setSelection(profileAdapter.resolveProfileIndex(LauncherPreferences.DEFAULT_PREF.getString(LauncherPreferences.PREF_KEY_CURRENT_PROFILE,""))); mVersionSelector.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener(){ @Override - public void onItemSelected(AdapterView p1, View p2, int p3, long p4) - { + public void onItemSelected(AdapterView p1, View p2, int p3, long p4) { String profileName = p1.getItemAtPosition(p3).toString(); if(profileName.equals(ProfileAdapter.CREATE_PROFILE_MAGIC)) { profileEditor.show(profileName); mVersionSelector.setSelection(0); return; } - LauncherPreferences.DEFAULT_PREF.edit() - .putString( - LauncherPreferences.PREF_KEY_CURRENT_PROFILE, - p1.getItemAtPosition(p3).toString()) - .commit(); + setProfileSelection(p3); } @Override - public void onNothingSelected(AdapterView p1) - { - // TODO: Implement this method - } + public void onNothingSelected(AdapterView p1){/* TODO: Implement this method*/} }); // statusIsLaunching(false); @@ -248,6 +242,16 @@ public class PojavLauncherActivity extends BaseLauncherActivity changeLookAndFeel(PREF_HIDE_SIDEBAR); initTabs(0); } + + /** Set the selection AND saves it as a shared preference */ + private void setProfileSelection(int position){ + mVersionSelector.setSelection(position); + LauncherPreferences.DEFAULT_PREF.edit() + .putString(LauncherPreferences.PREF_KEY_CURRENT_PROFILE, + mVersionSelector.getAdapter().getItem(position).toString()) + .apply(); + } + private void selectTabPage(int pageIndex){ viewPager.setCurrentItem(pageIndex); setTabActive(pageIndex);