package com.nin0dev.vendroid import android.annotation.SuppressLint import android.content.Context import android.graphics.Color import android.opengl.Visibility import android.os.Bundle import android.service.voice.VoiceInteractionSession.VisibleActivityCallback import android.view.View import android.view.WindowManager import android.widget.CheckBox import android.widget.EditText import android.widget.RadioButton import android.widget.Toast import androidx.appcompat.app.AppCompatActivity import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton import com.google.android.material.materialswitch.MaterialSwitch import com.google.android.material.radiobutton.MaterialRadioButton import com.google.android.material.textfield.TextInputEditText class SettingsActivity : AppCompatActivity() { @SuppressLint("CutPasteId") override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) val sPrefs = getSharedPreferences("settings", Context.MODE_PRIVATE) window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) window.statusBarColor = Color.TRANSPARENT window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION) window.navigationBarColor = Color.TRANSPARENT setContentView(R.layout.activity_settings) findViewById(R.id.check_vendroid_updates).isChecked = sPrefs.getBoolean("checkVendroidUpdates", false) when (sPrefs.getString("discordBranch", "stable")) { "stable" -> findViewById(R.id.stable).isChecked = true "ptb" -> findViewById(R.id.ptb).isChecked = true "canary" -> findViewById(R.id.canary).isChecked = true } if(sPrefs.getString("vencordLocation", "")?.isNotBlank() == true) { findViewById(R.id.allow_custom_location).isChecked = true val devbuildField = findViewById(R.id.custom_location) devbuildField.visibility = View.VISIBLE devbuildField.setText(sPrefs.getString("vencordLocation", "")) } val devbuildCheckbox = findViewById(R.id.allow_custom_location) devbuildCheckbox.setOnClickListener { if (devbuildCheckbox.isChecked) { MaterialAlertDialogBuilder(this) .setTitle("Warning") .setMessage("If you set a custom location, you will be loading and injecting Vencord from a different location. This feature is meant for developers ONLY. Never edit this setting if someone else asked you to, or if you don't know what you're doing! If you do set a custom location, you will not be able to ask for support in the Vencord support channel or in this project's issues. Are you sure you want to continue?") .setNegativeButton(resources.getString(R.string.no)) { _, _ -> devbuildCheckbox.isChecked = false } .setPositiveButton(resources.getString(R.string.yes)) { _, _ -> findViewById(R.id.custom_location).visibility = View.VISIBLE } .show() } else { findViewById(R.id.custom_location).visibility = View.GONE findViewById(R.id.custom_location).setText("") } } findViewById(R.id.save_settings).setOnClickListener { val editor = sPrefs.edit() editor.putBoolean("checkVendroidUpdates", findViewById(R.id.check_vendroid_updates).isChecked) if (findViewById(R.id.stable).isChecked) editor.putString("discordBranch", "stable") if (findViewById(R.id.ptb).isChecked) editor.putString("discordBranch", "ptb") if (findViewById(R.id.canary).isChecked) editor.putString("discordBranch", "canary") if (findViewById(R.id.allow_custom_location).isChecked && findViewById(R.id.custom_location).text.isNotBlank()) editor.putString("vencordLocation", findViewById(R.id.custom_location).text.toString()) editor.apply() Toast.makeText(this, "Settings saved, restart Vendroid to apply them.", Toast.LENGTH_LONG).show() finish() } } }