From d37c4ff46462c142f8b4ab4b36343b1b280a04c4 Mon Sep 17 00:00:00 2001 From: khanhduytran0 Date: Thu, 16 Apr 2020 10:46:27 +0700 Subject: [PATCH] version option --- .../prefs/PojavPreferenceActivity.java | 89 ++++++++++++------- app/src/main/res/layout/launcher_login.xml | 2 +- app/src/main/res/layout/settings.xml | 50 +++++++++++ app/src/main/res/values/strings.xml | 5 ++ 4 files changed, 113 insertions(+), 33 deletions(-) diff --git a/app/src/main/java/net/kdt/pojavlaunch/prefs/PojavPreferenceActivity.java b/app/src/main/java/net/kdt/pojavlaunch/prefs/PojavPreferenceActivity.java index b968b6aec..7e26e96c4 100644 --- a/app/src/main/java/net/kdt/pojavlaunch/prefs/PojavPreferenceActivity.java +++ b/app/src/main/java/net/kdt/pojavlaunch/prefs/PojavPreferenceActivity.java @@ -1,14 +1,15 @@ package net.kdt.pojavlaunch.prefs; -import net.kdt.pojavlaunch.*; -import android.os.*; -import android.support.v7.app.*; -import android.widget.*; import android.content.*; -import com.pojavdx.dex.*; +import android.os.*; +import android.view.*; +import android.widget.*; +import android.widget.CompoundButton.*; import com.kdt.mcgui.app.*; +import com.pojavdx.dex.*; +import net.kdt.pojavlaunch.*; -public class PojavPreferenceActivity extends MineActivity +public class PojavPreferenceActivity extends MineActivity implements OnCheckedChangeListener { public static boolean PREF_FREEFORM = false; public static boolean PREF_FORGETOF = false; @@ -17,6 +18,7 @@ public class PojavPreferenceActivity extends MineActivity private SeekBar viewSeekDxRef, viewSeekControlSize; private TextView viewSeekProgressDxRef, viewSeekProgressControl; private Switch viewSwitchFreeform, viewSwitchForgetOF; + private CheckBox viewCheckVTypeRelease, viewCheckVTypeSnapshot, viewCheckVTypeOldAlpha, viewCheckVTypeOldBeta; private SharedPreferences mainPreference; @Override @@ -36,8 +38,8 @@ public class PojavPreferenceActivity extends MineActivity final SharedPreferences.Editor mainPrefEdit = mainPreference.edit(); // DX Refs - viewSeekDxRef = (SeekBar) findViewById(R.id.settings_seekbar_setmaxdxref); - viewSeekProgressDxRef = (TextView) findViewById(R.id.setting_progressseek_maxdxref); + viewSeekDxRef = (SeekBar) findView(R.id.settings_seekbar_setmaxdxref); + viewSeekProgressDxRef = (TextView) findView(R.id.setting_progressseek_maxdxref); viewSeekDxRef.setMax(0xFFFF - 0xFFF); viewSeekDxRef.setProgress(DexFormat.MAX_MEMBER_IDX - 0xFFF); viewSeekDxRef.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener(){ @@ -62,8 +64,8 @@ public class PojavPreferenceActivity extends MineActivity viewSeekProgressDxRef.setText((viewSeekDxRef.getProgress() + 0xFFF) + "/" + 0xFFFF); // Control size - viewSeekControlSize = (SeekBar) findViewById(R.id.settings_seekbar_controlsize); - viewSeekProgressControl = (TextView) findViewById(R.id.setting_progressseek_control); + viewSeekControlSize = (SeekBar) findView(R.id.settings_seekbar_controlsize); + viewSeekProgressControl = (TextView) findView(R.id.setting_progressseek_control); viewSeekControlSize.setMax(200); viewSeekControlSize.setProgress((int) (PREF_BUTTONSIZE * 100)); viewSeekControlSize.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener(){ @@ -90,39 +92,62 @@ public class PojavPreferenceActivity extends MineActivity viewSeekProgressControl.setText(((float) viewSeekControlSize.getProgress() / 100f) + "/2"); // Freeform mode - viewSwitchFreeform = (Switch) findViewById(R.id.settings_switch_enablefreeform); - viewSwitchFreeform.setOnCheckedChangeListener(new Switch.OnCheckedChangeListener(){ - - @Override - public void onCheckedChanged(CompoundButton b, boolean z) - { - mainPrefEdit.putBoolean("freeform", z); - mainPrefEdit.commit(); - } - }); + viewSwitchFreeform = (Switch) findView(R.id.settings_switch_enablefreeform); viewSwitchFreeform.setChecked(PREF_FREEFORM); viewSwitchFreeform.setEnabled(Build.VERSION.SDK_INT >= 24); // Forget OptiFine path - viewSwitchForgetOF = (Switch) findViewById(R.id.settings_switch_forgetoptifpath); - viewSwitchForgetOF.setOnCheckedChangeListener(new Switch.OnCheckedChangeListener(){ - - @Override - public void onCheckedChanged(CompoundButton b, boolean z) - { - mainPrefEdit.putBoolean("forgetOptifinePath", z); - mainPrefEdit.commit(); - } - }); + viewSwitchForgetOF = (Switch) findView(R.id.settings_switch_forgetoptifpath); viewSwitchForgetOF.setChecked(PREF_FORGETOF); + + viewCheckVTypeRelease = (CheckBox) findView(R.id.settings_checkbox_vertype_release); + viewCheckVTypeSnapshot = (CheckBox) findView(R.id.settings_checkbox_vertype_snapshot); + viewCheckVTypeOldAlpha = (CheckBox) findView(R.id.settings_checkbox_vertype_oldalpha); + viewCheckVTypeOldBeta = (CheckBox) findView(R.id.settings_checkbox_vertype_oldbeta); } @Override - public void onBackPressed() - { + public void onBackPressed() { super.onBackPressed(); PojavPreferenceActivity.loadPreferences(this); } + + @Override + public void onCheckedChanged(CompoundButton btn, boolean isChecked) { + String prefName = null; + switch (btn.getId()) { + case R.id.settings_switch_enablefreeform: + prefName = "freeform"; + break; + case R.id.settings_switch_forgetoptifpath: + prefName = "forgetOptifinePath"; + break; + case R.id.settings_checkbox_vertype_release: + prefName = "vertype_release"; + break; + case R.id.settings_checkbox_vertype_snapshot: + prefName = "vertype_snapshot"; + break; + case R.id.settings_checkbox_vertype_oldalpha: + prefName = "vertype_oldalpha"; + break; + case R.id.settings_checkbox_vertype_oldbeta: + prefName = "vertype_oldbeta"; + break; + } + + mainPreference.edit() + .putBoolean(prefName, isChecked) + .commit(); + } + + public View findView(int id) { + View view = findView(id); + if (view instanceof CompoundButton) { + ((CompoundButton) view).setOnCheckedChangeListener(this); + } + return view; + } public static void loadPreferences(Context ctx) { SharedPreferences mainPreference = ctx.getSharedPreferences("pojav_preferences", MODE_PRIVATE); diff --git a/app/src/main/res/layout/launcher_login.xml b/app/src/main/res/layout/launcher_login.xml index f3a2b4b9a..d130107db 100644 --- a/app/src/main/res/layout/launcher_login.xml +++ b/app/src/main/res/layout/launcher_login.xml @@ -1,6 +1,7 @@ @@ -9,7 +10,6 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" - android:background="#F1EDEC" android:paddingLeft="25dp" android:paddingRight="25dp"> diff --git a/app/src/main/res/layout/settings.xml b/app/src/main/res/layout/settings.xml index 59c349229..39a67e4d5 100644 --- a/app/src/main/res/layout/settings.xml +++ b/app/src/main/res/layout/settings.xml @@ -137,6 +137,56 @@ android:layout_height="2dp" android:layout_width="match_parent"/> + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 0e87e887f..a560199d5 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -97,6 +97,11 @@ Set control buttons size Make OptiFine unable to locate itself Useful for making OptiFine launchable on some devices + Version type will be in version list + Release + Snapshot + Old-alpha + Old-beta Clone