This commit is contained in:
Bnyro 2022-06-25 18:11:11 +02:00
parent 47c65ebfe8
commit c410c7c88f
3 changed files with 25 additions and 20 deletions

View File

@ -3,7 +3,6 @@ package com.github.libretube.dialogs
import android.app.Dialog import android.app.Dialog
import android.content.Context import android.content.Context
import android.os.Bundle import android.os.Bundle
import android.util.Log
import android.util.TypedValue import android.util.TypedValue
import android.widget.Button import android.widget.Button
import android.widget.EditText import android.widget.EditText
@ -16,8 +15,6 @@ import com.github.libretube.R
import com.github.libretube.obj.DeleteUserRequest import com.github.libretube.obj.DeleteUserRequest
import com.github.libretube.util.RetrofitInstance import com.github.libretube.util.RetrofitInstance
import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.dialog.MaterialAlertDialogBuilder
import retrofit2.HttpException
import java.io.IOException
class DeleteAccountDialog : DialogFragment() { class DeleteAccountDialog : DialogFragment() {
private val TAG = "DeleteAccountDialog" private val TAG = "DeleteAccountDialog"
@ -27,7 +24,11 @@ class DeleteAccountDialog : DialogFragment() {
return activity?.let { return activity?.let {
val builder = MaterialAlertDialogBuilder(it) val builder = MaterialAlertDialogBuilder(it)
val inflater = requireActivity().layoutInflater val inflater = requireActivity().layoutInflater
val view = inflater.inflate(R.layout.dialog_login, null) val view = inflater.inflate(R.layout.dialog_delete_account, null)
view.findViewById<Button>(R.id.cancel_button).setOnClickListener {
dialog?.dismiss()
}
password = view.findViewById(R.id.delete_password) password = view.findViewById(R.id.delete_password)
view.findViewById<Button>(R.id.delete_account_confirm).setOnClickListener { view.findViewById<Button>(R.id.delete_account_confirm).setOnClickListener {
@ -60,18 +61,8 @@ class DeleteAccountDialog : DialogFragment() {
val response = try { val response = try {
RetrofitInstance.api.deleteAccount(token, DeleteUserRequest(password)) RetrofitInstance.api.deleteAccount(token, DeleteUserRequest(password))
} catch (e: IOException) {
println(e)
Log.e(TAG, "IOException, you might not have internet connection")
Toast.makeText(context, R.string.unknown_error, Toast.LENGTH_SHORT).show()
return@launchWhenCreated
} catch (e: HttpException) {
Log.e(TAG, "HttpException, unexpected response")
Toast.makeText(context, R.string.server_error, Toast.LENGTH_SHORT).show()
return@launchWhenCreated
} catch (e: Exception) { } catch (e: Exception) {
Log.e(TAG, "dafaq?$e") e.printStackTrace()
return@launchWhenCreated
} }
Toast.makeText(context, R.string.success, Toast.LENGTH_SHORT).show() Toast.makeText(context, R.string.success, Toast.LENGTH_SHORT).show()
logout() logout()

View File

@ -22,6 +22,7 @@ import androidx.preference.PreferenceFragmentCompat
import androidx.preference.PreferenceManager import androidx.preference.PreferenceManager
import com.github.libretube.R import com.github.libretube.R
import com.github.libretube.dialogs.CustomInstanceDialog import com.github.libretube.dialogs.CustomInstanceDialog
import com.github.libretube.dialogs.DeleteAccountDialog
import com.github.libretube.dialogs.LoginDialog import com.github.libretube.dialogs.LoginDialog
import com.github.libretube.requireMainActivityRestart import com.github.libretube.requireMainActivityRestart
import com.github.libretube.util.RetrofitInstance import com.github.libretube.util.RetrofitInstance
@ -113,6 +114,9 @@ class InstanceSettings : PreferenceFragmentCompat() {
val topBarTextView = activity?.findViewById<TextView>(R.id.topBar_textView) val topBarTextView = activity?.findViewById<TextView>(R.id.topBar_textView)
topBarTextView?.text = getString(R.string.instance) topBarTextView?.text = getString(R.string.instance)
val sharedPref = context?.getSharedPreferences("token", Context.MODE_PRIVATE)
val token = sharedPref?.getString("token", "")
val instance = findPreference<ListPreference>("selectInstance") val instance = findPreference<ListPreference>("selectInstance")
// fetchInstance() // fetchInstance()
initCustomInstances() initCustomInstances()
@ -150,10 +154,19 @@ class InstanceSettings : PreferenceFragmentCompat() {
true true
} }
val deleteAccount = findPreference<Preference>("delete_account")
deleteAccount?.setOnPreferenceClickListener {
if (token != "") {
val newFragment = DeleteAccountDialog()
newFragment.show(childFragmentManager, "DeleteAccountDialog")
} else {
Toast.makeText(context, R.string.login_first, Toast.LENGTH_SHORT).show()
}
true
}
val importFromYt = findPreference<Preference>("import_from_yt") val importFromYt = findPreference<Preference>("import_from_yt")
importFromYt?.setOnPreferenceClickListener { importFromYt?.setOnPreferenceClickListener {
val sharedPref = context?.getSharedPreferences("token", Context.MODE_PRIVATE)
val token = sharedPref?.getString("token", "")!!
// check StorageAccess // check StorageAccess
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
Log.d("myz", "" + Build.VERSION.SDK_INT) Log.d("myz", "" + Build.VERSION.SDK_INT)

View File

@ -5,7 +5,8 @@
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"> android:layout_height="wrap_content"
android:paddingVertical="5dp" >
<ImageButton <ImageButton
android:id="@+id/back_imageButton" android:id="@+id/back_imageButton"