Fix newly created profiles not getting selected internally

This commit is contained in:
Boulay Mathias 2022-06-03 16:22:40 +02:00
parent 94d1609596
commit f527e8a143

View File

@ -197,10 +197,12 @@ public class PojavLauncherActivity extends BaseLauncherActivity
LauncherProfiles.update(); LauncherProfiles.update();
profileAdapter.notifyDataSetChanged(); profileAdapter.notifyDataSetChanged();
if(isNew) { if(isNew) {
mVersionSelector.setSelection(profileAdapter.resolveProfileIndex(name)); int newPosition = profileAdapter.resolveProfileIndex(name);
setProfileSelection(newPosition);
return;
} }
if(deleting) { 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.setSelection(profileAdapter.resolveProfileIndex(LauncherPreferences.DEFAULT_PREF.getString(LauncherPreferences.PREF_KEY_CURRENT_PROFILE,"")));
mVersionSelector.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener(){ mVersionSelector.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener(){
@Override @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(); String profileName = p1.getItemAtPosition(p3).toString();
if(profileName.equals(ProfileAdapter.CREATE_PROFILE_MAGIC)) { if(profileName.equals(ProfileAdapter.CREATE_PROFILE_MAGIC)) {
profileEditor.show(profileName); profileEditor.show(profileName);
mVersionSelector.setSelection(0); mVersionSelector.setSelection(0);
return; return;
} }
LauncherPreferences.DEFAULT_PREF.edit() setProfileSelection(p3);
.putString(
LauncherPreferences.PREF_KEY_CURRENT_PROFILE,
p1.getItemAtPosition(p3).toString())
.commit();
} }
@Override @Override
public void onNothingSelected(AdapterView<?> p1) public void onNothingSelected(AdapterView<?> p1){/* TODO: Implement this method*/}
{
// TODO: Implement this method
}
}); });
// //
statusIsLaunching(false); statusIsLaunching(false);
@ -248,6 +242,16 @@ public class PojavLauncherActivity extends BaseLauncherActivity
changeLookAndFeel(PREF_HIDE_SIDEBAR); changeLookAndFeel(PREF_HIDE_SIDEBAR);
initTabs(0); 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){ private void selectTabPage(int pageIndex){
viewPager.setCurrentItem(pageIndex); viewPager.setCurrentItem(pageIndex);
setTabActive(pageIndex); setTabActive(pageIndex);