From bc7e02810eac0570962dcaeb8367a5d0275bddb8 Mon Sep 17 00:00:00 2001 From: fatih ergin Date: Tue, 1 Aug 2023 22:54:22 +0300 Subject: [PATCH] replace kotlin synthetic usages with viewbinding --- .../activities/BrightDisplayActivity.kt | 28 ++-- .../flashlight/activities/MainActivity.kt | 138 ++++++++++-------- .../flashlight/activities/SettingsActivity.kt | 114 +++++++++------ .../WidgetBrightDisplayConfigureActivity.kt | 34 +++-- .../WidgetTorchConfigureActivity.kt | 42 +++--- 5 files changed, 210 insertions(+), 146 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/flashlight/activities/BrightDisplayActivity.kt b/app/src/main/kotlin/com/simplemobiletools/flashlight/activities/BrightDisplayActivity.kt index 06594e5..6491d33 100644 --- a/app/src/main/kotlin/com/simplemobiletools/flashlight/activities/BrightDisplayActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/flashlight/activities/BrightDisplayActivity.kt @@ -7,11 +7,12 @@ import android.view.WindowManager import com.simplemobiletools.commons.dialogs.ColorPickerDialog import com.simplemobiletools.commons.extensions.applyColorFilter import com.simplemobiletools.commons.extensions.getContrastColor -import com.simplemobiletools.flashlight.R +import com.simplemobiletools.flashlight.databinding.ActivityBrightDisplayBinding import com.simplemobiletools.flashlight.extensions.config -import kotlinx.android.synthetic.main.activity_bright_display.* class BrightDisplayActivity : SimpleActivity() { + private lateinit var binding: ActivityBrightDisplayBinding + override fun onCreate(savedInstanceState: Bundle?) { window.addFlags( WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD or @@ -22,11 +23,12 @@ class BrightDisplayActivity : SimpleActivity() { useDynamicTheme = false super.onCreate(savedInstanceState) - setContentView(R.layout.activity_bright_display) + binding = ActivityBrightDisplayBinding.inflate(layoutInflater) + setContentView(binding.root) supportActionBar?.hide() setBackgroundColor(config.brightDisplayColor) - bright_display_change_color.setOnClickListener { + binding.brightDisplayChangeColor.setOnClickListener { ColorPickerDialog(this, config.brightDisplayColor, true, currentColorCallback = { setBackgroundColor(it) }) { wasPositivePressed, color -> @@ -34,8 +36,10 @@ class BrightDisplayActivity : SimpleActivity() { config.brightDisplayColor = color val contrastColor = color.getContrastColor() - bright_display_change_color.setTextColor(contrastColor) - bright_display_change_color.background.applyColorFilter(contrastColor) + binding.brightDisplayChangeColor.apply { + setTextColor(contrastColor) + background.applyColorFilter(contrastColor) + } } else { setBackgroundColor(config.brightDisplayColor) } @@ -57,11 +61,15 @@ class BrightDisplayActivity : SimpleActivity() { } private fun setBackgroundColor(color: Int) { - bright_display.background = ColorDrawable(color) + binding.apply { + brightDisplay.background = ColorDrawable(color) - val contrastColor = config.brightDisplayColor.getContrastColor() - bright_display_change_color.setTextColor(contrastColor) - bright_display_change_color.background.applyColorFilter(contrastColor) + val contrastColor = config.brightDisplayColor.getContrastColor() + brightDisplayChangeColor.apply { + setTextColor(contrastColor) + background.applyColorFilter(contrastColor) + } + } } private fun toggleBrightness(increase: Boolean) { diff --git a/app/src/main/kotlin/com/simplemobiletools/flashlight/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/flashlight/activities/MainActivity.kt index 1bb84c8..f297822 100644 --- a/app/src/main/kotlin/com/simplemobiletools/flashlight/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/flashlight/activities/MainActivity.kt @@ -17,12 +17,12 @@ import com.simplemobiletools.commons.helpers.isNougatPlus import com.simplemobiletools.commons.models.FAQItem import com.simplemobiletools.flashlight.BuildConfig import com.simplemobiletools.flashlight.R +import com.simplemobiletools.flashlight.databinding.ActivityMainBinding import com.simplemobiletools.flashlight.extensions.config import com.simplemobiletools.flashlight.helpers.CameraTorchListener import com.simplemobiletools.flashlight.helpers.MIN_BRIGHTNESS_LEVEL import com.simplemobiletools.flashlight.helpers.MyCameraImpl import com.simplemobiletools.flashlight.models.Events -import kotlinx.android.synthetic.main.activity_main.* import org.greenrobot.eventbus.EventBus import org.greenrobot.eventbus.Subscribe import java.util.* @@ -33,6 +33,7 @@ class MainActivity : SimpleActivity() { private val FLASHLIGHT_STATE = "flashlight_state" private val STROBOSCOPE_STATE = "stroboscope_state" + private lateinit var binding: ActivityMainBinding private var mBus: EventBus? = null private var mCameraImpl: MyCameraImpl? = null private var mIsFlashlightOn = false @@ -41,32 +42,36 @@ class MainActivity : SimpleActivity() { override fun onCreate(savedInstanceState: Bundle?) { isMaterialActivity = true super.onCreate(savedInstanceState) - setContentView(R.layout.activity_main) + binding = ActivityMainBinding.inflate(layoutInflater) + setContentView(binding.root) appLaunched(BuildConfig.APPLICATION_ID) setupOptionsMenu() refreshMenuItems() - updateMaterialActivityViews(main_coordinator, main_holder, useTransparentNavigation = true, useTopSearchMenu = false) - setupMaterialScrollListener(main_nested_scrollview, main_toolbar) - mBus = EventBus.getDefault() - changeIconColor(getContrastColor(), stroboscope_btn) - bright_display_btn.setOnClickListener { - reTurnFlashlightOn = false - startActivity(Intent(applicationContext, BrightDisplayActivity::class.java)) - } + binding.apply { + updateMaterialActivityViews(mainCoordinator, mainHolder, useTransparentNavigation = true, useTopSearchMenu = false) + setupMaterialScrollListener(mainNestedScrollview, mainToolbar) - flashlight_btn.setOnClickListener { - mCameraImpl!!.toggleFlashlight() - } + changeIconColor(getContrastColor(), stroboscopeBtn) - sos_btn.setOnClickListener { - toggleStroboscope(true) - } + brightDisplayBtn.setOnClickListener { + reTurnFlashlightOn = false + startActivity(Intent(applicationContext, BrightDisplayActivity::class.java)) + } - stroboscope_btn.setOnClickListener { - toggleStroboscope(false) + flashlightBtn.setOnClickListener { + mCameraImpl!!.toggleFlashlight() + } + + sosBtn.setOnClickListener { + toggleStroboscope(true) + } + + stroboscopeBtn.setOnClickListener { + toggleStroboscope(false) + } } setupStroboscope() @@ -75,29 +80,32 @@ class MainActivity : SimpleActivity() { override fun onResume() { super.onResume() - setupToolbar(main_toolbar) + setupToolbar(binding.mainToolbar) mCameraImpl!!.handleCameraSetup() checkState(MyCameraImpl.isFlashlightOn) val contrastColor = getContrastColor() - changeIconColor(contrastColor, bright_display_btn) - bright_display_btn.beVisibleIf(config.brightDisplay) - sos_btn.beVisibleIf(config.sos) - if (sos_btn.currentTextColor != getProperPrimaryColor()) { - sos_btn.setTextColor(contrastColor) - } + binding.apply { + changeIconColor(contrastColor, brightDisplayBtn) + brightDisplayBtn.beVisibleIf(config.brightDisplay) + sosBtn.beVisibleIf(config.sos) - stroboscope_btn.beVisibleIf(config.stroboscope) + if (sosBtn.currentTextColor != getProperPrimaryColor()) { + sosBtn.setTextColor(contrastColor) + } - if (!config.stroboscope) { - mCameraImpl!!.stopStroboscope() - stroboscope_bar.beInvisible() - } + stroboscopeBtn.beVisibleIf(config.stroboscope) - updateTextColors(main_holder) - if (stroboscope_bar.isInvisible()) { - changeIconColor(contrastColor, stroboscope_btn) + if (!config.stroboscope) { + mCameraImpl!!.stopStroboscope() + stroboscopeBar.beInvisible() + } + + updateTextColors(mainHolder) + if (stroboscopeBar.isInvisible()) { + changeIconColor(contrastColor, stroboscopeBtn) + } } requestedOrientation = if (config.forcePortraitMode) ActivityInfo.SCREEN_ORIENTATION_PORTRAIT else ActivityInfo.SCREEN_ORIENTATION_SENSOR @@ -132,7 +140,7 @@ class MainActivity : SimpleActivity() { } private fun setupOptionsMenu() { - main_toolbar.setOnMenuItemClickListener { menuItem -> + binding.mainToolbar.setOnMenuItemClickListener { menuItem -> when (menuItem.itemId) { R.id.more_apps_from_us -> launchMoreAppsFromUsIntent() R.id.settings -> launchSettings() @@ -144,14 +152,14 @@ class MainActivity : SimpleActivity() { } private fun refreshMenuItems() { - main_toolbar.menu.apply { + binding.mainToolbar.menu.apply { findItem(R.id.more_apps_from_us).isVisible = !resources.getBoolean(R.bool.hide_google_relations) } } override fun onSaveInstanceState(outState: Bundle) { outState.putBoolean(FLASHLIGHT_STATE, mIsFlashlightOn) - outState.putBoolean(STROBOSCOPE_STATE, stroboscope_bar.isVisible()) + outState.putBoolean(STROBOSCOPE_STATE, binding.stroboscopeBar.isVisible()) super.onSaveInstanceState(outState) } @@ -196,7 +204,7 @@ class MainActivity : SimpleActivity() { override fun onTorchEnabled(isEnabled: Boolean) { mCameraImpl!!.onTorchEnabled(isEnabled) if (mCameraImpl!!.supportsBrightnessControl()) { - brightness_bar.beVisibleIf(isEnabled) + binding.brightnessBar.beVisibleIf(isEnabled) } } @@ -211,13 +219,15 @@ class MainActivity : SimpleActivity() { } private fun setupStroboscope() { - stroboscope_bar.max = (MAX_STROBO_DELAY - MIN_STROBO_DELAY).toInt() - stroboscope_bar.progress = config.stroboscopeProgress - stroboscope_bar.onSeekBarChangeListener { progress -> - val frequency = stroboscope_bar.max - progress + MIN_STROBO_DELAY - mCameraImpl?.stroboFrequency = frequency - config.stroboscopeFrequency = frequency - config.stroboscopeProgress = progress + binding.stroboscopeBar.apply { + max = (MAX_STROBO_DELAY - MIN_STROBO_DELAY).toInt() + progress = config.stroboscopeProgress + onSeekBarChangeListener { progress -> + val frequency = max - progress + MIN_STROBO_DELAY + mCameraImpl?.stroboFrequency = frequency + config.stroboscopeFrequency = frequency + config.stroboscopeProgress = progress + } } } @@ -237,22 +247,26 @@ class MainActivity : SimpleActivity() { } private fun setupBrightness() { - brightness_bar.max = mCameraImpl?.getMaximumBrightnessLevel() ?: MIN_BRIGHTNESS_LEVEL - brightness_bar.progress = mCameraImpl?.getCurrentBrightnessLevel() ?: MIN_BRIGHTNESS_LEVEL - brightness_bar.onSeekBarChangeListener { level -> - val newLevel = level.coerceAtLeast(MIN_BRIGHTNESS_LEVEL) - mCameraImpl?.updateBrightnessLevel(newLevel) - config.brightnessLevel = newLevel + binding.brightnessBar.apply { + max = mCameraImpl?.getMaximumBrightnessLevel() ?: MIN_BRIGHTNESS_LEVEL + progress = mCameraImpl?.getCurrentBrightnessLevel() ?: MIN_BRIGHTNESS_LEVEL + onSeekBarChangeListener { level -> + val newLevel = level.coerceAtLeast(MIN_BRIGHTNESS_LEVEL) + mCameraImpl?.updateBrightnessLevel(newLevel) + config.brightnessLevel = newLevel + } } } private fun cameraPermissionGranted(isSOS: Boolean) { if (isSOS) { val isSOSRunning = mCameraImpl!!.toggleSOS() - sos_btn.setTextColor(if (isSOSRunning) getProperPrimaryColor() else getContrastColor()) + binding.sosBtn.setTextColor(if (isSOSRunning) getProperPrimaryColor() else getContrastColor()) } else if (mCameraImpl!!.toggleStroboscope()) { - stroboscope_bar.beInvisibleIf(stroboscope_bar.isVisible()) - changeIconColor(if (stroboscope_bar.isVisible()) getProperPrimaryColor() else getContrastColor(), stroboscope_btn) + binding.apply { + stroboscopeBar.beInvisibleIf(stroboscopeBar.isVisible()) + changeIconColor(if (stroboscopeBar.isVisible()) getProperPrimaryColor() else getContrastColor(), stroboscopeBtn) + } } } @@ -270,13 +284,13 @@ class MainActivity : SimpleActivity() { @Subscribe fun stopStroboscope(event: Events.StopStroboscope) { - stroboscope_bar.beInvisible() - changeIconColor(getContrastColor(), stroboscope_btn) + binding.stroboscopeBar.beInvisible() + changeIconColor(getContrastColor(), binding.stroboscopeBtn) } @Subscribe fun stopSOS(event: Events.StopSOS) { - sos_btn.setTextColor(getContrastColor()) + binding.sosBtn.setTextColor(getContrastColor()) } private fun checkState(isEnabled: Boolean) { @@ -288,18 +302,20 @@ class MainActivity : SimpleActivity() { } private fun enableFlashlight() { - changeIconColor(getProperPrimaryColor(), flashlight_btn) + changeIconColor(getProperPrimaryColor(), binding.flashlightBtn) window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) mIsFlashlightOn = true - sos_btn.setTextColor(getContrastColor()) + binding.apply { + sosBtn.setTextColor(getContrastColor()) - changeIconColor(getContrastColor(), stroboscope_btn) - stroboscope_bar.beInvisible() + changeIconColor(getContrastColor(), stroboscopeBtn) + stroboscopeBar.beInvisible() + } } private fun disableFlashlight() { - changeIconColor(getContrastColor(), flashlight_btn) + changeIconColor(getContrastColor(), binding.flashlightBtn) window.clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) mIsFlashlightOn = false } diff --git a/app/src/main/kotlin/com/simplemobiletools/flashlight/activities/SettingsActivity.kt b/app/src/main/kotlin/com/simplemobiletools/flashlight/activities/SettingsActivity.kt index 74718a6..b5d7017 100644 --- a/app/src/main/kotlin/com/simplemobiletools/flashlight/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/flashlight/activities/SettingsActivity.kt @@ -6,25 +6,29 @@ import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.helpers.IS_CUSTOMIZING_COLORS import com.simplemobiletools.commons.helpers.NavigationIcon import com.simplemobiletools.commons.helpers.isTiramisuPlus -import com.simplemobiletools.flashlight.R +import com.simplemobiletools.flashlight.databinding.ActivitySettingsBinding import com.simplemobiletools.flashlight.extensions.config -import kotlinx.android.synthetic.main.activity_settings.* -import java.util.* +import java.util.Locale import kotlin.system.exitProcess class SettingsActivity : SimpleActivity() { + private lateinit var binding: ActivitySettingsBinding + override fun onCreate(savedInstanceState: Bundle?) { isMaterialActivity = true super.onCreate(savedInstanceState) - setContentView(R.layout.activity_settings) + binding = ActivitySettingsBinding.inflate(layoutInflater) + setContentView(binding.root) - updateMaterialActivityViews(settings_coordinator, settings_holder, useTransparentNavigation = true, useTopSearchMenu = false) - setupMaterialScrollListener(settings_nested_scrollview, settings_toolbar) + binding.apply { + updateMaterialActivityViews(settingsCoordinator, settingsHolder, useTransparentNavigation = true, useTopSearchMenu = false) + setupMaterialScrollListener(settingsNestedScrollview, settingsToolbar) + } } override fun onResume() { super.onResume() - setupToolbar(settings_toolbar, NavigationIcon.Arrow) + setupToolbar(binding.settingsToolbar, NavigationIcon.Arrow) setupPurchaseThankYou() setupCustomizeColors() @@ -36,29 +40,33 @@ class SettingsActivity : SimpleActivity() { setupStroboscope() setupSOS() setupForcePortrait() - updateTextColors(settings_holder) + updateTextColors(binding.settingsHolder) - arrayOf(settings_color_customization_section_label, settings_general_settings_label).forEach { + arrayOf(binding.settingsColorCustomizationSectionLabel, binding.settingsGeneralSettingsLabel).forEach { it.setTextColor(getProperPrimaryColor()) } } private fun setupPurchaseThankYou() { - settings_purchase_thank_you_holder.beGoneIf(isOrWasThankYouInstalled()) - settings_purchase_thank_you_holder.setOnClickListener { - launchPurchaseThankYouIntent() + binding.settingsPurchaseThankYouHolder.apply { + beGoneIf(isOrWasThankYouInstalled()) + setOnClickListener { + launchPurchaseThankYouIntent() + } } } private fun setupCustomizeColors() { - settings_color_customization_label.text = getCustomizeColorsString() - settings_color_customization_holder.setOnClickListener { - handleCustomizeColorsClick() + binding.apply { + settingsColorCustomizationLabel.text = getCustomizeColorsString() + settingsColorCustomizationHolder.setOnClickListener { + handleCustomizeColorsClick() + } } } private fun setupCustomizeWidgetColors() { - settings_widget_color_customization_holder.setOnClickListener { + binding.settingsWidgetColorCustomizationHolder.setOnClickListener { Intent(this, WidgetTorchConfigureActivity::class.java).apply { putExtra(IS_CUSTOMIZING_COLORS, true) startActivity(this) @@ -67,60 +75,74 @@ class SettingsActivity : SimpleActivity() { } private fun setupUseEnglish() { - settings_use_english_holder.beVisibleIf((config.wasUseEnglishToggled || Locale.getDefault().language != "en") && !isTiramisuPlus()) - settings_use_english.isChecked = config.useEnglish - settings_use_english_holder.setOnClickListener { - settings_use_english.toggle() - config.useEnglish = settings_use_english.isChecked - exitProcess(0) + binding.apply { + settingsUseEnglishHolder.beVisibleIf((config.wasUseEnglishToggled || Locale.getDefault().language != "en") && !isTiramisuPlus()) + settingsUseEnglish.isChecked = config.useEnglish + settingsUseEnglishHolder.setOnClickListener { + settingsUseEnglish.toggle() + config.useEnglish = settingsUseEnglish.isChecked + exitProcess(0) + } } } private fun setupLanguage() { - settings_language.text = Locale.getDefault().displayLanguage - settings_language_holder.beVisibleIf(isTiramisuPlus()) - settings_language_holder.setOnClickListener { - launchChangeAppLanguageIntent() + binding.apply { + settingsLanguage.text = Locale.getDefault().displayLanguage + settingsLanguageHolder.beVisibleIf(isTiramisuPlus()) + settingsLanguageHolder.setOnClickListener { + launchChangeAppLanguageIntent() + } } } private fun setupTurnFlashlightOn() { - settings_turn_flashlight_on.isChecked = config.turnFlashlightOn - settings_turn_flashlight_on_holder.setOnClickListener { - settings_turn_flashlight_on.toggle() - config.turnFlashlightOn = settings_turn_flashlight_on.isChecked + binding.apply { + settingsTurnFlashlightOn.isChecked = config.turnFlashlightOn + settingsTurnFlashlightOnHolder.setOnClickListener { + settingsTurnFlashlightOn.toggle() + config.turnFlashlightOn = settingsTurnFlashlightOn.isChecked + } } } private fun setupBrightDisplay() { - settings_bright_display.isChecked = config.brightDisplay - settings_bright_display_holder.setOnClickListener { - settings_bright_display.toggle() - config.brightDisplay = settings_bright_display.isChecked + binding.apply { + settingsBrightDisplay.isChecked = config.brightDisplay + settingsBrightDisplayHolder.setOnClickListener { + settingsBrightDisplay.toggle() + config.brightDisplay = settingsBrightDisplay.isChecked + } } } private fun setupStroboscope() { - settings_stroboscope.isChecked = config.stroboscope - settings_stroboscope_holder.setOnClickListener { - settings_stroboscope.toggle() - config.stroboscope = settings_stroboscope.isChecked + binding.apply { + settingsStroboscope.isChecked = config.stroboscope + settingsStroboscopeHolder.setOnClickListener { + settingsStroboscope.toggle() + config.stroboscope = settingsStroboscope.isChecked + } } } private fun setupSOS() { - settings_sos.isChecked = config.sos - settings_sos_holder.setOnClickListener { - settings_sos.toggle() - config.sos = settings_sos.isChecked + binding.apply { + settingsSos.isChecked = config.sos + settingsSosHolder.setOnClickListener { + settingsSos.toggle() + config.sos = settingsSos.isChecked + } } } private fun setupForcePortrait() { - settings_force_portrait.isChecked = config.forcePortraitMode - settings_force_portrait_holder.setOnClickListener { - settings_force_portrait.toggle() - config.forcePortraitMode = settings_force_portrait.isChecked + binding.apply { + settingsForcePortrait.isChecked = config.forcePortraitMode + settingsForcePortraitHolder.setOnClickListener { + settingsForcePortrait.toggle() + config.forcePortraitMode = settingsForcePortrait.isChecked + } } } } diff --git a/app/src/main/kotlin/com/simplemobiletools/flashlight/activities/WidgetBrightDisplayConfigureActivity.kt b/app/src/main/kotlin/com/simplemobiletools/flashlight/activities/WidgetBrightDisplayConfigureActivity.kt index 3ff519a..8968cbd 100644 --- a/app/src/main/kotlin/com/simplemobiletools/flashlight/activities/WidgetBrightDisplayConfigureActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/flashlight/activities/WidgetBrightDisplayConfigureActivity.kt @@ -12,11 +12,12 @@ import com.simplemobiletools.commons.dialogs.FeatureLockedDialog import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.helpers.IS_CUSTOMIZING_COLORS import com.simplemobiletools.flashlight.R +import com.simplemobiletools.flashlight.databinding.WidgetBrightDisplayConfigBinding import com.simplemobiletools.flashlight.extensions.config import com.simplemobiletools.flashlight.helpers.MyWidgetBrightDisplayProvider -import kotlinx.android.synthetic.main.widget_bright_display_config.* class WidgetBrightDisplayConfigureActivity : SimpleActivity() { + private lateinit var binding: WidgetBrightDisplayConfigBinding private var mWidgetAlpha = 0f private var mWidgetId = 0 private var mWidgetColor = 0 @@ -26,8 +27,9 @@ class WidgetBrightDisplayConfigureActivity : SimpleActivity() { public override fun onCreate(savedInstanceState: Bundle?) { useDynamicTheme = false super.onCreate(savedInstanceState) + binding = WidgetBrightDisplayConfigBinding.inflate(layoutInflater) setResult(Activity.RESULT_CANCELED) - setContentView(R.layout.widget_bright_display_config) + setContentView(binding.root) initVariables() val isCustomizingColors = intent.extras?.getBoolean(IS_CUSTOMIZING_COLORS) ?: false @@ -37,11 +39,13 @@ class WidgetBrightDisplayConfigureActivity : SimpleActivity() { finish() } - config_save.setOnClickListener { saveConfig() } - config_widget_color.setOnClickListener { pickBackgroundColor() } + binding.apply { + configSave.setOnClickListener { saveConfig() } + configWidgetColor.setOnClickListener { pickBackgroundColor() } - val primaryColor = getProperPrimaryColor() - config_widget_seekbar.setColors(getProperTextColor(), primaryColor, primaryColor) + val primaryColor = getProperPrimaryColor() + configWidgetSeekbar.setColors(getProperTextColor(), primaryColor, primaryColor) + } if (!isCustomizingColors && !isOrWasThankYouInstalled()) { mFeatureLockedDialog = FeatureLockedDialog(this) { @@ -51,8 +55,10 @@ class WidgetBrightDisplayConfigureActivity : SimpleActivity() { } } - config_save.backgroundTintList = ColorStateList.valueOf(getProperPrimaryColor()) - config_save.setTextColor(getProperPrimaryColor().getContrastColor()) + binding.configSave.apply { + backgroundTintList = ColorStateList.valueOf(getProperPrimaryColor()) + setTextColor(getProperPrimaryColor().getContrastColor()) + } } override fun onResume() { @@ -73,8 +79,10 @@ class WidgetBrightDisplayConfigureActivity : SimpleActivity() { mWidgetAlpha = Color.alpha(mWidgetColor) / 255.toFloat() mWidgetColorWithoutTransparency = Color.rgb(Color.red(mWidgetColor), Color.green(mWidgetColor), Color.blue(mWidgetColor)) - config_widget_seekbar.setOnSeekBarChangeListener(seekbarChangeListener) - config_widget_seekbar.progress = (mWidgetAlpha * 100).toInt() + binding.configWidgetSeekbar.apply { + setOnSeekBarChangeListener(seekbarChangeListener) + progress = (mWidgetAlpha * 100).toInt() + } updateColors() } @@ -107,8 +115,10 @@ class WidgetBrightDisplayConfigureActivity : SimpleActivity() { private fun updateColors() { mWidgetColor = mWidgetColorWithoutTransparency.adjustAlpha(mWidgetAlpha) - config_widget_color.setFillWithStroke(mWidgetColor, mWidgetColor) - config_image.background.mutate().applyColorFilter(mWidgetColor) + binding.apply { + configWidgetColor.setFillWithStroke(mWidgetColor, mWidgetColor) + configImage.background.mutate().applyColorFilter(mWidgetColor) + } } private val seekbarChangeListener = object : SeekBar.OnSeekBarChangeListener { diff --git a/app/src/main/kotlin/com/simplemobiletools/flashlight/activities/WidgetTorchConfigureActivity.kt b/app/src/main/kotlin/com/simplemobiletools/flashlight/activities/WidgetTorchConfigureActivity.kt index 37587a0..624b2bd 100644 --- a/app/src/main/kotlin/com/simplemobiletools/flashlight/activities/WidgetTorchConfigureActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/flashlight/activities/WidgetTorchConfigureActivity.kt @@ -12,12 +12,13 @@ import com.simplemobiletools.commons.dialogs.FeatureLockedDialog import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.helpers.IS_CUSTOMIZING_COLORS import com.simplemobiletools.flashlight.R +import com.simplemobiletools.flashlight.databinding.WidgetTorchConfigBinding import com.simplemobiletools.flashlight.extensions.config import com.simplemobiletools.flashlight.extensions.updateBrightDisplayWidget import com.simplemobiletools.flashlight.helpers.MyWidgetTorchProvider -import kotlinx.android.synthetic.main.widget_torch_config.* class WidgetTorchConfigureActivity : SimpleActivity() { + private lateinit var binding: WidgetTorchConfigBinding private var mWidgetAlpha = 0f private var mWidgetId = 0 private var mWidgetColor = 0 @@ -27,8 +28,9 @@ class WidgetTorchConfigureActivity : SimpleActivity() { public override fun onCreate(savedInstanceState: Bundle?) { useDynamicTheme = false super.onCreate(savedInstanceState) + binding = WidgetTorchConfigBinding.inflate(layoutInflater) setResult(Activity.RESULT_CANCELED) - setContentView(R.layout.widget_torch_config) + setContentView(binding.root) initVariables() val isCustomizingColors = intent.extras?.getBoolean(IS_CUSTOMIZING_COLORS) ?: false @@ -38,22 +40,24 @@ class WidgetTorchConfigureActivity : SimpleActivity() { finish() } - config_save.setOnClickListener { saveConfig() } - config_widget_color.setOnClickListener { pickBackgroundColor() } + binding.apply { + configSave.setOnClickListener { saveConfig() } + configWidgetColor.setOnClickListener { pickBackgroundColor() } - val primaryColor = getProperPrimaryColor() - config_widget_seekbar.setColors(getProperTextColor(), primaryColor, primaryColor) + val primaryColor = getProperPrimaryColor() + configWidgetSeekbar.setColors(getProperTextColor(), primaryColor, primaryColor) - if (!isCustomizingColors && !isOrWasThankYouInstalled()) { - mFeatureLockedDialog = FeatureLockedDialog(this) { - if (!isOrWasThankYouInstalled()) { - finish() + if (!isCustomizingColors && !isOrWasThankYouInstalled()) { + mFeatureLockedDialog = FeatureLockedDialog(this@WidgetTorchConfigureActivity) { + if (!isOrWasThankYouInstalled()) { + finish() + } } } - } - config_save.backgroundTintList = ColorStateList.valueOf(getProperPrimaryColor()) - config_save.setTextColor(getProperPrimaryColor().getContrastColor()) + configSave.backgroundTintList = ColorStateList.valueOf(getProperPrimaryColor()) + configSave.setTextColor(getProperPrimaryColor().getContrastColor()) + } } override fun onResume() { @@ -74,8 +78,10 @@ class WidgetTorchConfigureActivity : SimpleActivity() { mWidgetAlpha = Color.alpha(mWidgetColor) / 255.toFloat() mWidgetColorWithoutTransparency = Color.rgb(Color.red(mWidgetColor), Color.green(mWidgetColor), Color.blue(mWidgetColor)) - config_widget_seekbar.setOnSeekBarChangeListener(seekbarChangeListener) - config_widget_seekbar.progress = (mWidgetAlpha * 100).toInt() + binding.configWidgetSeekbar.apply { + setOnSeekBarChangeListener(seekbarChangeListener) + progress = (mWidgetAlpha * 100).toInt() + } updateColors() } @@ -110,8 +116,10 @@ class WidgetTorchConfigureActivity : SimpleActivity() { private fun updateColors() { mWidgetColor = mWidgetColorWithoutTransparency.adjustAlpha(mWidgetAlpha) - config_widget_color.setFillWithStroke(mWidgetColor, mWidgetColor) - config_image.background.mutate().applyColorFilter(mWidgetColor) + binding.apply { + configWidgetColor.setFillWithStroke(mWidgetColor, mWidgetColor) + configImage.background.mutate().applyColorFilter(mWidgetColor) + } } private val seekbarChangeListener = object : SeekBar.OnSeekBarChangeListener {