mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-29 22:03:55 +01:00
feat : Account Vanishing (#6098)
* feat : Account Vanishing * Added Comment for SingleWebViewActivity --------- Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
This commit is contained in:
parent
18f599b554
commit
39b513da12
8 changed files with 234 additions and 1 deletions
|
|
@ -3,6 +3,7 @@ package fr.free.nrw.commons.settings
|
|||
object Prefs {
|
||||
const val DEFAULT_LICENSE = "defaultLicense"
|
||||
const val MANAGED_EXIF_TAGS = "managed_exif_tags"
|
||||
const val VANISHED_ACCOUNT = "vanishAccount"
|
||||
const val DESCRIPTION_LANGUAGE = "languageDescription"
|
||||
const val APP_UI_LANGUAGE = "appUiLanguage"
|
||||
const val KEY_THEME_VALUE = "appThemePref"
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ import android.widget.TextView
|
|||
import androidx.activity.result.ActivityResultLauncher
|
||||
import androidx.activity.result.contract.ActivityResultContracts.RequestMultiplePermissions
|
||||
import androidx.activity.result.contract.ActivityResultContracts.StartActivityForResult
|
||||
import androidx.appcompat.app.AlertDialog
|
||||
import androidx.preference.ListPreference
|
||||
import androidx.preference.MultiSelectListPreference
|
||||
import androidx.preference.Preference
|
||||
|
|
@ -34,6 +35,7 @@ import com.karumi.dexter.listener.PermissionRequest
|
|||
import com.karumi.dexter.listener.multi.MultiplePermissionsListener
|
||||
import fr.free.nrw.commons.R
|
||||
import fr.free.nrw.commons.Utils
|
||||
import fr.free.nrw.commons.activity.SingleWebViewActivity
|
||||
import fr.free.nrw.commons.campaigns.CampaignView
|
||||
import fr.free.nrw.commons.contributions.ContributionController
|
||||
import fr.free.nrw.commons.contributions.MainActivity
|
||||
|
|
@ -48,6 +50,7 @@ import fr.free.nrw.commons.recentlanguages.RecentLanguagesDao
|
|||
import fr.free.nrw.commons.upload.LanguagesAdapter
|
||||
import fr.free.nrw.commons.utils.DialogUtil
|
||||
import fr.free.nrw.commons.utils.PermissionUtils
|
||||
import fr.free.nrw.commons.utils.StringUtil
|
||||
import fr.free.nrw.commons.utils.ViewUtil
|
||||
import java.util.Locale
|
||||
import javax.inject.Inject
|
||||
|
|
@ -71,6 +74,7 @@ class SettingsFragment : PreferenceFragmentCompat() {
|
|||
@Inject
|
||||
lateinit var locationManager: LocationServiceManager
|
||||
|
||||
private var vanishAccountPreference: Preference? = null
|
||||
private var themeListPreference: ListPreference? = null
|
||||
private var descriptionLanguageListPreference: Preference? = null
|
||||
private var appUiLanguageListPreference: Preference? = null
|
||||
|
|
@ -79,6 +83,7 @@ class SettingsFragment : PreferenceFragmentCompat() {
|
|||
private var recentLanguagesTextView: TextView? = null
|
||||
private var separator: View? = null
|
||||
private var languageHistoryListView: ListView? = null
|
||||
|
||||
private lateinit var inAppCameraLocationPermissionLauncher: ActivityResultLauncher<Array<String>>
|
||||
private val GET_CONTENT_PICKER_HELP_URL = "https://commons-app.github.io/docs.html#get-content"
|
||||
|
||||
|
|
@ -114,6 +119,26 @@ class SettingsFragment : PreferenceFragmentCompat() {
|
|||
themeListPreference = findPreference(Prefs.KEY_THEME_VALUE)
|
||||
prepareTheme()
|
||||
|
||||
vanishAccountPreference = findPreference(Prefs.VANISHED_ACCOUNT)
|
||||
vanishAccountPreference?.setOnPreferenceClickListener {
|
||||
AlertDialog.Builder(requireContext())
|
||||
.setTitle(R.string.account_vanish_request_confirm_title)
|
||||
.setMessage(StringUtil.fromHtml(getString(R.string.account_vanish_request_confirm)))
|
||||
.setNegativeButton(R.string.cancel){ dialog,_ ->
|
||||
dialog.dismiss()
|
||||
}
|
||||
.setPositiveButton(R.string.vanish_account) { dialog, _ ->
|
||||
SingleWebViewActivity.showWebView(
|
||||
context = requireActivity(),
|
||||
url = VANISH_ACCOUNT_URL,
|
||||
successUrl = VANISH_ACCOUNT_SUCCESS_URL
|
||||
)
|
||||
dialog.dismiss()
|
||||
}
|
||||
.show()
|
||||
true
|
||||
}
|
||||
|
||||
val multiSelectListPref: MultiSelectListPreference? = findPreference(
|
||||
Prefs.MANAGED_EXIF_TAGS
|
||||
)
|
||||
|
|
@ -484,7 +509,10 @@ class SettingsFragment : PreferenceFragmentCompat() {
|
|||
editor.apply()
|
||||
}
|
||||
|
||||
@Suppress("LongLine")
|
||||
companion object {
|
||||
private const val VANISH_ACCOUNT_URL = "https://meta.m.wikimedia.org/wiki/Special:Contact/accountvanishapps"
|
||||
private const val VANISH_ACCOUNT_SUCCESS_URL = "https://meta.m.wikimedia.org/wiki/Special:GlobalVanishRequest/vanished"
|
||||
/**
|
||||
* Create Locale based on different types of language codes
|
||||
* @param languageCode
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue