Skip to content
This repository was archived by the owner on Sep 23, 2025. It is now read-only.

Commit 0a80efd

Browse files
committed
Add dynamic refresh for version list and dynamic UI
1 parent 92676f9 commit 0a80efd

2 files changed

Lines changed: 43 additions & 1 deletion

File tree

app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/BaseLauncherActivity.java

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,10 +173,23 @@ protected void onResume(){
173173
decorView.setSystemUiVisibility(uiOptions);
174174
System.out.println("call to onResume; E");
175175
}
176-
176+
SharedPreferences.OnSharedPreferenceChangeListener listRefreshListener = null;
177177
@Override
178178
protected void onResumeFragments() {
179179
super.onResumeFragments();
180+
if(listRefreshListener == null) {
181+
final BaseLauncherActivity thiz = this;
182+
listRefreshListener = new SharedPreferences.OnSharedPreferenceChangeListener() {
183+
@Override
184+
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
185+
if(key.startsWith("vertype_")) {
186+
System.out.println("Verlist update needed!");
187+
new RefreshVersionListTask(thiz).execute();
188+
}
189+
}
190+
};
191+
LauncherPreferences.DEFAULT_PREF.registerOnSharedPreferenceChangeListener(listRefreshListener);
192+
}
180193
new RefreshVersionListTask(this).execute();
181194
System.out.println("call to onResumeFragments");
182195
try{

app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/PojavLauncherActivity.java

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
package net.kdt.pojavlaunch;
22

33
import android.animation.ValueAnimator;
4+
import android.content.SharedPreferences;
45
import android.graphics.Color;
56
import android.graphics.Typeface;
67
import android.os.Bundle;
78
import android.os.Handler;
89
import android.os.Looper;
910
import android.support.design.widget.VerticalTabLayout.ViewPagerAdapter;
11+
import android.util.TypedValue;
1012
import android.view.View;
1113
import android.widget.AdapterView;
1214
import android.widget.ArrayAdapter;
@@ -24,6 +26,7 @@
2426
import net.kdt.pojavlaunch.fragments.CrashFragment;
2527
import net.kdt.pojavlaunch.fragments.LauncherFragment;
2628
import net.kdt.pojavlaunch.prefs.LauncherPreferenceFragment;
29+
import net.kdt.pojavlaunch.prefs.LauncherPreferences;
2730
import net.kdt.pojavlaunch.value.MinecraftAccount;
2831

2932
import java.io.File;
@@ -204,6 +207,14 @@ public void onNothingSelected(AdapterView<?> p1) {
204207
statusIsLaunching(false);
205208

206209
initTabs(0);
210+
LauncherPreferences.DEFAULT_PREF.registerOnSharedPreferenceChangeListener(new SharedPreferences.OnSharedPreferenceChangeListener() {
211+
@Override
212+
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
213+
if(key.equals("hideSidebar")) {
214+
restoreOldLook(sharedPreferences.getBoolean("hideSidebar",false));
215+
}
216+
}
217+
});
207218
restoreOldLook(PREF_HIDE_SIDEBAR);
208219
}
209220

@@ -288,6 +299,24 @@ private void restoreOldLook(boolean oldLookState){
288299
params = (ConstraintLayout.LayoutParams) mPlayButton.getLayoutParams();
289300
params.width = (int)(params.width*1.80);
290301
mPlayButton.setLayoutParams(params);
302+
}else{
303+
//UI v2 Style
304+
//Show the sidebar back
305+
Guideline guideLine = findViewById(R.id.guidelineLeft);
306+
ConstraintLayout.LayoutParams params = (ConstraintLayout.LayoutParams) guideLine.getLayoutParams();
307+
params.guidePercent = 0.23f; // 23%, range: 0 <-> 1
308+
guideLine.setLayoutParams(params);
309+
310+
//Show the selected Tab
311+
selected.setVisibility(View.VISIBLE);
312+
313+
//Set the default button size
314+
params = (ConstraintLayout.LayoutParams) mPlayButton.getLayoutParams();
315+
params.width = (int) TypedValue.applyDimension(
316+
TypedValue.COMPLEX_UNIT_DIP,
317+
160,
318+
getResources().getDisplayMetrics());
319+
mPlayButton.setLayoutParams(params);
291320
}
292321
}
293322
}

0 commit comments

Comments
 (0)