diff --git a/app/src/main/java/com/manimarank/spell4wiki/ui/dialogs/RecordInfoDialog.kt b/app/src/main/java/com/manimarank/spell4wiki/ui/dialogs/RecordInfoDialog.kt index 2bf3c95..6a17690 100644 --- a/app/src/main/java/com/manimarank/spell4wiki/ui/dialogs/RecordInfoDialog.kt +++ b/app/src/main/java/com/manimarank/spell4wiki/ui/dialogs/RecordInfoDialog.kt @@ -4,6 +4,10 @@ import android.app.Activity import android.app.AlertDialog import com.manimarank.spell4wiki.R import com.manimarank.spell4wiki.data.prefs.AppPref +import com.manimarank.spell4wiki.data.prefs.PrefManager +import com.manimarank.spell4wiki.utils.WikiLicense +import kotlinx.android.synthetic.main.activity_record_audio_pop_up.* +import kotlinx.android.synthetic.main.activity_settings.* object RecordInfoDialog { diff --git a/app/src/main/java/com/manimarank/spell4wiki/ui/recordaudio/RecordAudioActivity.kt b/app/src/main/java/com/manimarank/spell4wiki/ui/recordaudio/RecordAudioActivity.kt index 2fb5e84..35c9217 100644 --- a/app/src/main/java/com/manimarank/spell4wiki/ui/recordaudio/RecordAudioActivity.kt +++ b/app/src/main/java/com/manimarank/spell4wiki/ui/recordaudio/RecordAudioActivity.kt @@ -2,6 +2,8 @@ package com.manimarank.spell4wiki.ui.recordaudio import android.Manifest import android.annotation.SuppressLint +import android.app.AlertDialog +import android.content.DialogInterface import android.content.Intent import android.content.res.Configuration import android.os.Build @@ -9,13 +11,16 @@ import android.os.Bundle import android.os.CountDownTimer import android.os.Handler import android.text.TextUtils +import android.text.method.LinkMovementMethod import android.view.MotionEvent import android.view.View import android.webkit.MimeTypeMap import android.widget.SeekBar import android.widget.SeekBar.OnSeekBarChangeListener +import android.widget.TextView import androidx.annotation.RequiresApi import androidx.core.content.ContextCompat +import androidx.core.text.HtmlCompat import androidx.interpolator.view.animation.FastOutSlowInInterpolator import com.google.gson.Gson import com.manimarank.spell4wiki.R @@ -40,6 +45,7 @@ import com.manimarank.spell4wiki.record.ogg.WavToOggConverter import com.manimarank.spell4wiki.record.wav.WAVPlayer import com.manimarank.spell4wiki.record.wav.WAVRecorder import com.manimarank.spell4wiki.ui.common.BaseActivity +import com.manimarank.spell4wiki.ui.dialogs.AppLanguageDialog import com.manimarank.spell4wiki.ui.recordaudio.WikiDataUtils.getUploadName import com.manimarank.spell4wiki.ui.settings.SettingsActivity import com.manimarank.spell4wiki.utils.DateUtils.DF_YYYY_MM_DD @@ -53,6 +59,7 @@ import com.manimarank.spell4wiki.utils.Print.error import com.manimarank.spell4wiki.utils.Print.log import com.manimarank.spell4wiki.utils.RealPathUtil import com.manimarank.spell4wiki.utils.ToastUtils.showLong +import com.manimarank.spell4wiki.utils.WikiLicense import com.manimarank.spell4wiki.utils.WikiLicense.getLicenseTemplateInWiki import com.manimarank.spell4wiki.utils.WikiLicense.licenseNameId import com.manimarank.spell4wiki.utils.constants.AppConstants @@ -60,7 +67,9 @@ import com.manimarank.spell4wiki.utils.constants.AppConstants.MAX_RETRIES_FOR_CS import com.manimarank.spell4wiki.utils.constants.AppConstants.MAX_RETRIES_FOR_FORCE_LOGIN import com.manimarank.spell4wiki.utils.constants.AppConstants.RC_EDIT_REQUEST_CODE import com.manimarank.spell4wiki.utils.constants.AppConstants.RC_LICENCE_CHANGE +import com.manimarank.spell4wiki.utils.extensions.showLicenseChooseDialog import kotlinx.android.synthetic.main.activity_record_audio_pop_up.* +import kotlinx.android.synthetic.main.activity_settings.* import okhttp3.MediaType import okhttp3.MultipartBody import okhttp3.RequestBody @@ -128,10 +137,22 @@ class RecordAudioActivity : BaseActivity() { txtDuration.text = getDurationValue(0) checkboxDeclaration.text = String.format(getString(R.string.declaration_note), getString(licenseNameId(pref.uploadAudioLicense))) + + btnSettings.setOnClickListener { - startActivityForResult(Intent(applicationContext, SettingsActivity::class.java), RC_LICENCE_CHANGE) + showLicenseChooseDialog({ + checkboxDeclaration.text = String.format(getString(R.string.declaration_note), getString(licenseNameId(pref.uploadAudioLicense))) + }) + } + + +// btnSettings.setOnClickListener { +// +// startActivityForResult(Intent(applicationContext, SettingsActivity::class.java), RC_LICENCE_CHANGE) +// } + // Set 10 sec only for recording countDownTimer = object : CountDownTimer(AppConstants.MAX_SEC_FOR_RECORDING * 1000, 1000) { override fun onTick(millisUntilFinished: Long) { diff --git a/app/src/main/java/com/manimarank/spell4wiki/ui/settings/SettingsActivity.kt b/app/src/main/java/com/manimarank/spell4wiki/ui/settings/SettingsActivity.kt index e1c3ad2..1807e69 100644 --- a/app/src/main/java/com/manimarank/spell4wiki/ui/settings/SettingsActivity.kt +++ b/app/src/main/java/com/manimarank/spell4wiki/ui/settings/SettingsActivity.kt @@ -19,12 +19,15 @@ import com.manimarank.spell4wiki.ui.dialogs.AppLanguageDialog.getSelectedLanguag import com.manimarank.spell4wiki.ui.dialogs.AppLanguageDialog.show import com.manimarank.spell4wiki.ui.languageselector.LanguageSelectionFragment import com.manimarank.spell4wiki.ui.listerners.OnLanguageSelectionListener +import com.manimarank.spell4wiki.ui.recordaudio.RecordAudioActivity import com.manimarank.spell4wiki.utils.WikiLicense import com.manimarank.spell4wiki.utils.WikiLicense.licenseNameId import com.manimarank.spell4wiki.utils.WikiLicense.licenseUrlFor import com.manimarank.spell4wiki.utils.constants.AppConstants import com.manimarank.spell4wiki.utils.constants.ListMode +import com.manimarank.spell4wiki.utils.extensions.showLicenseChooseDialog import com.manimarank.spell4wiki.utils.makeGone +import kotlinx.android.synthetic.main.activity_record_audio_pop_up.* import kotlinx.android.synthetic.main.activity_settings.* import java.util.* @@ -91,34 +94,14 @@ class SettingsActivity : BaseActivity() { languageSelectionFragment.show(supportFragmentManager) } updateLicenseView(txtLicenseOfUploadAudio, txtLicenseOfUploadAudioLegalCode) + + + layoutLicenseOfUploadAudio.setOnClickListener { - // setup the alert builder - val builder = AlertDialog.Builder(this) - builder.setTitle(R.string.license_choose_alert) // add a radio button list - val licensePrefList = arrayOf( - WikiLicense.LicensePrefs.CC_0, - WikiLicense.LicensePrefs.CC_BY_3, - WikiLicense.LicensePrefs.CC_BY_SA_3, - WikiLicense.LicensePrefs.CC_BY_4, - WikiLicense.LicensePrefs.CC_BY_SA_4 - ) - val licenseList = arrayOf( - getString(R.string.license_name_cc_zero), - getString(R.string.license_name_cc_by_three), - getString(R.string.license_name_cc_by_sa_three), - getString(R.string.license_name_cc_by_four), - getString(R.string.license_name_cc_by_sa_four) - ) - val checkedItem = licensePrefList.indexOf(pref.uploadAudioLicense) - builder.setSingleChoiceItems(licenseList, checkedItem) { dialog: DialogInterface, which: Int -> - pref.uploadAudioLicense = licensePrefList[which] + showLicenseChooseDialog { updateLicenseView(txtLicenseOfUploadAudio, txtLicenseOfUploadAudioLegalCode) - dialog.dismiss() - } - builder.setNegativeButton(getString(R.string.cancel), null) - val dialog = builder.create() - dialog.show() - } + } } + txtAppLanguage.text = getSelectedLanguage() layoutLanguageOfApp.setOnClickListener { show(this@SettingsActivity) } diff --git a/app/src/main/java/com/manimarank/spell4wiki/utils/extensions/ContextExtentions.kt b/app/src/main/java/com/manimarank/spell4wiki/utils/extensions/ContextExtentions.kt index 5e3da87..6f68b01 100644 --- a/app/src/main/java/com/manimarank/spell4wiki/utils/extensions/ContextExtentions.kt +++ b/app/src/main/java/com/manimarank/spell4wiki/utils/extensions/ContextExtentions.kt @@ -1,7 +1,13 @@ package com.manimarank.spell4wiki.utils.extensions +import android.app.Activity +import android.app.AlertDialog import android.content.Context +import android.content.DialogInterface import android.os.Build +import com.manimarank.spell4wiki.R +import com.manimarank.spell4wiki.data.prefs.PrefManager +import com.manimarank.spell4wiki.utils.WikiLicense import kotlin.Exception as KotlinException /** @@ -20,4 +26,37 @@ fun Context.getAppVersion(): Long { e.printStackTrace() } return versionCode +} + +fun Activity.showLicenseChooseDialog(confirmAction: () -> Unit = {}) { + try { + val pref = PrefManager(this) + val builder = AlertDialog.Builder(this) + builder.setTitle(R.string.license_choose_alert) // add a radio button list + val licensePrefList = arrayOf( + WikiLicense.LicensePrefs.CC_0, + WikiLicense.LicensePrefs.CC_BY_3, + WikiLicense.LicensePrefs.CC_BY_SA_3, + WikiLicense.LicensePrefs.CC_BY_4, + WikiLicense.LicensePrefs.CC_BY_SA_4 + ) + val licenseList = arrayOf( + getString(R.string.license_name_cc_zero), + getString(R.string.license_name_cc_by_three), + getString(R.string.license_name_cc_by_sa_three), + getString(R.string.license_name_cc_by_four), + getString(R.string.license_name_cc_by_sa_four) + ) + val checkedItem = licensePrefList.indexOf(pref.uploadAudioLicense) + builder.setSingleChoiceItems(licenseList, checkedItem) { dialog: DialogInterface, which: Int -> + pref.uploadAudioLicense = licensePrefList[which] + confirmAction() + dialog.dismiss() + } + builder.setNegativeButton(getString(R.string.cancel), null) + val dialog = builder.create() + dialog.show() + } catch (e: Exception) { + e.printStackTrace() + } } \ No newline at end of file