@@ -17,12 +17,12 @@ import com.simplemobiletools.commons.helpers.isNougatPlus
1717import com.simplemobiletools.commons.models.FAQItem
1818import com.simplemobiletools.flashlight.BuildConfig
1919import com.simplemobiletools.flashlight.R
20+ import com.simplemobiletools.flashlight.databinding.ActivityMainBinding
2021import com.simplemobiletools.flashlight.extensions.config
2122import com.simplemobiletools.flashlight.helpers.CameraTorchListener
2223import com.simplemobiletools.flashlight.helpers.MIN_BRIGHTNESS_LEVEL
2324import com.simplemobiletools.flashlight.helpers.MyCameraImpl
2425import com.simplemobiletools.flashlight.models.Events
25- import kotlinx.android.synthetic.main.activity_main.*
2626import org.greenrobot.eventbus.EventBus
2727import org.greenrobot.eventbus.Subscribe
2828import java.util.*
@@ -33,6 +33,7 @@ class MainActivity : SimpleActivity() {
3333 private val FLASHLIGHT_STATE = " flashlight_state"
3434 private val STROBOSCOPE_STATE = " stroboscope_state"
3535
36+ private lateinit var binding: ActivityMainBinding
3637 private var mBus: EventBus ? = null
3738 private var mCameraImpl: MyCameraImpl ? = null
3839 private var mIsFlashlightOn = false
@@ -41,32 +42,36 @@ class MainActivity : SimpleActivity() {
4142 override fun onCreate (savedInstanceState : Bundle ? ) {
4243 isMaterialActivity = true
4344 super .onCreate(savedInstanceState)
44- setContentView(R .layout.activity_main)
45+ binding = ActivityMainBinding .inflate(layoutInflater)
46+ setContentView(binding.root)
4547 appLaunched(BuildConfig .APPLICATION_ID )
4648 setupOptionsMenu()
4749 refreshMenuItems()
4850
49- updateMaterialActivityViews(main_coordinator, main_holder, useTransparentNavigation = true , useTopSearchMenu = false )
50- setupMaterialScrollListener(main_nested_scrollview, main_toolbar)
51-
5251 mBus = EventBus .getDefault()
53- changeIconColor(getContrastColor(), stroboscope_btn)
5452
55- bright_display_btn.setOnClickListener {
56- reTurnFlashlightOn = false
57- startActivity(Intent (applicationContext, BrightDisplayActivity ::class .java))
58- }
53+ binding.apply {
54+ updateMaterialActivityViews(mainCoordinator, mainHolder, useTransparentNavigation = true , useTopSearchMenu = false )
55+ setupMaterialScrollListener(mainNestedScrollview, mainToolbar)
5956
60- flashlight_btn.setOnClickListener {
61- mCameraImpl!! .toggleFlashlight()
62- }
57+ changeIconColor(getContrastColor(), stroboscopeBtn)
6358
64- sos_btn.setOnClickListener {
65- toggleStroboscope(true )
66- }
59+ brightDisplayBtn.setOnClickListener {
60+ reTurnFlashlightOn = false
61+ startActivity(Intent (applicationContext, BrightDisplayActivity ::class .java))
62+ }
6763
68- stroboscope_btn.setOnClickListener {
69- toggleStroboscope(false )
64+ flashlightBtn.setOnClickListener {
65+ mCameraImpl!! .toggleFlashlight()
66+ }
67+
68+ sosBtn.setOnClickListener {
69+ toggleStroboscope(true )
70+ }
71+
72+ stroboscopeBtn.setOnClickListener {
73+ toggleStroboscope(false )
74+ }
7075 }
7176
7277 setupStroboscope()
@@ -75,29 +80,32 @@ class MainActivity : SimpleActivity() {
7580
7681 override fun onResume () {
7782 super .onResume()
78- setupToolbar(main_toolbar )
83+ setupToolbar(binding.mainToolbar )
7984 mCameraImpl!! .handleCameraSetup()
8085 checkState(MyCameraImpl .isFlashlightOn)
8186
8287 val contrastColor = getContrastColor()
83- changeIconColor(contrastColor, bright_display_btn)
84- bright_display_btn.beVisibleIf(config.brightDisplay)
85- sos_btn.beVisibleIf(config.sos)
8688
87- if (sos_btn.currentTextColor != getProperPrimaryColor()) {
88- sos_btn.setTextColor(contrastColor)
89- }
89+ binding.apply {
90+ changeIconColor(contrastColor, brightDisplayBtn)
91+ brightDisplayBtn.beVisibleIf(config.brightDisplay)
92+ sosBtn.beVisibleIf(config.sos)
93+
94+ if (sosBtn.currentTextColor != getProperPrimaryColor()) {
95+ sosBtn.setTextColor(contrastColor)
96+ }
9097
91- stroboscope_btn .beVisibleIf(config.stroboscope)
98+ stroboscopeBtn .beVisibleIf(config.stroboscope)
9299
93- if (! config.stroboscope) {
94- mCameraImpl!! .stopStroboscope()
95- stroboscope_bar .beInvisible()
96- }
100+ if (! config.stroboscope) {
101+ mCameraImpl!! .stopStroboscope()
102+ stroboscopeBar .beInvisible()
103+ }
97104
98- updateTextColors(main_holder)
99- if (stroboscope_bar.isInvisible()) {
100- changeIconColor(contrastColor, stroboscope_btn)
105+ updateTextColors(mainHolder)
106+ if (stroboscopeBar.isInvisible()) {
107+ changeIconColor(contrastColor, stroboscopeBtn)
108+ }
101109 }
102110
103111 requestedOrientation = if (config.forcePortraitMode) ActivityInfo .SCREEN_ORIENTATION_PORTRAIT else ActivityInfo .SCREEN_ORIENTATION_SENSOR
@@ -132,7 +140,7 @@ class MainActivity : SimpleActivity() {
132140 }
133141
134142 private fun setupOptionsMenu () {
135- main_toolbar .setOnMenuItemClickListener { menuItem ->
143+ binding.mainToolbar .setOnMenuItemClickListener { menuItem ->
136144 when (menuItem.itemId) {
137145 R .id.more_apps_from_us -> launchMoreAppsFromUsIntent()
138146 R .id.settings -> launchSettings()
@@ -144,14 +152,14 @@ class MainActivity : SimpleActivity() {
144152 }
145153
146154 private fun refreshMenuItems () {
147- main_toolbar .menu.apply {
155+ binding.mainToolbar .menu.apply {
148156 findItem(R .id.more_apps_from_us).isVisible = ! resources.getBoolean(R .bool.hide_google_relations)
149157 }
150158 }
151159
152160 override fun onSaveInstanceState (outState : Bundle ) {
153161 outState.putBoolean(FLASHLIGHT_STATE , mIsFlashlightOn)
154- outState.putBoolean(STROBOSCOPE_STATE , stroboscope_bar .isVisible())
162+ outState.putBoolean(STROBOSCOPE_STATE , binding.stroboscopeBar .isVisible())
155163 super .onSaveInstanceState(outState)
156164 }
157165
@@ -196,7 +204,7 @@ class MainActivity : SimpleActivity() {
196204 override fun onTorchEnabled (isEnabled : Boolean ) {
197205 mCameraImpl!! .onTorchEnabled(isEnabled)
198206 if (mCameraImpl!! .supportsBrightnessControl()) {
199- brightness_bar .beVisibleIf(isEnabled)
207+ binding.brightnessBar .beVisibleIf(isEnabled)
200208 }
201209 }
202210
@@ -211,13 +219,15 @@ class MainActivity : SimpleActivity() {
211219 }
212220
213221 private fun setupStroboscope () {
214- stroboscope_bar.max = (MAX_STROBO_DELAY - MIN_STROBO_DELAY ).toInt()
215- stroboscope_bar.progress = config.stroboscopeProgress
216- stroboscope_bar.onSeekBarChangeListener { progress ->
217- val frequency = stroboscope_bar.max - progress + MIN_STROBO_DELAY
218- mCameraImpl?.stroboFrequency = frequency
219- config.stroboscopeFrequency = frequency
220- config.stroboscopeProgress = progress
222+ binding.stroboscopeBar.apply {
223+ max = (MAX_STROBO_DELAY - MIN_STROBO_DELAY ).toInt()
224+ progress = config.stroboscopeProgress
225+ onSeekBarChangeListener { progress ->
226+ val frequency = max - progress + MIN_STROBO_DELAY
227+ mCameraImpl?.stroboFrequency = frequency
228+ config.stroboscopeFrequency = frequency
229+ config.stroboscopeProgress = progress
230+ }
221231 }
222232 }
223233
@@ -237,22 +247,26 @@ class MainActivity : SimpleActivity() {
237247 }
238248
239249 private fun setupBrightness () {
240- brightness_bar.max = mCameraImpl?.getMaximumBrightnessLevel() ? : MIN_BRIGHTNESS_LEVEL
241- brightness_bar.progress = mCameraImpl?.getCurrentBrightnessLevel() ? : MIN_BRIGHTNESS_LEVEL
242- brightness_bar.onSeekBarChangeListener { level ->
243- val newLevel = level.coerceAtLeast(MIN_BRIGHTNESS_LEVEL )
244- mCameraImpl?.updateBrightnessLevel(newLevel)
245- config.brightnessLevel = newLevel
250+ binding.brightnessBar.apply {
251+ max = mCameraImpl?.getMaximumBrightnessLevel() ? : MIN_BRIGHTNESS_LEVEL
252+ progress = mCameraImpl?.getCurrentBrightnessLevel() ? : MIN_BRIGHTNESS_LEVEL
253+ onSeekBarChangeListener { level ->
254+ val newLevel = level.coerceAtLeast(MIN_BRIGHTNESS_LEVEL )
255+ mCameraImpl?.updateBrightnessLevel(newLevel)
256+ config.brightnessLevel = newLevel
257+ }
246258 }
247259 }
248260
249261 private fun cameraPermissionGranted (isSOS : Boolean ) {
250262 if (isSOS) {
251263 val isSOSRunning = mCameraImpl!! .toggleSOS()
252- sos_btn .setTextColor(if (isSOSRunning) getProperPrimaryColor() else getContrastColor())
264+ binding.sosBtn .setTextColor(if (isSOSRunning) getProperPrimaryColor() else getContrastColor())
253265 } else if (mCameraImpl!! .toggleStroboscope()) {
254- stroboscope_bar.beInvisibleIf(stroboscope_bar.isVisible())
255- changeIconColor(if (stroboscope_bar.isVisible()) getProperPrimaryColor() else getContrastColor(), stroboscope_btn)
266+ binding.apply {
267+ stroboscopeBar.beInvisibleIf(stroboscopeBar.isVisible())
268+ changeIconColor(if (stroboscopeBar.isVisible()) getProperPrimaryColor() else getContrastColor(), stroboscopeBtn)
269+ }
256270 }
257271 }
258272
@@ -270,13 +284,13 @@ class MainActivity : SimpleActivity() {
270284
271285 @Subscribe
272286 fun stopStroboscope (event : Events .StopStroboscope ) {
273- stroboscope_bar .beInvisible()
274- changeIconColor(getContrastColor(), stroboscope_btn )
287+ binding.stroboscopeBar .beInvisible()
288+ changeIconColor(getContrastColor(), binding.stroboscopeBtn )
275289 }
276290
277291 @Subscribe
278292 fun stopSOS (event : Events .StopSOS ) {
279- sos_btn .setTextColor(getContrastColor())
293+ binding.sosBtn .setTextColor(getContrastColor())
280294 }
281295
282296 private fun checkState (isEnabled : Boolean ) {
@@ -288,18 +302,20 @@ class MainActivity : SimpleActivity() {
288302 }
289303
290304 private fun enableFlashlight () {
291- changeIconColor(getProperPrimaryColor(), flashlight_btn )
305+ changeIconColor(getProperPrimaryColor(), binding.flashlightBtn )
292306 window.addFlags(WindowManager .LayoutParams .FLAG_KEEP_SCREEN_ON )
293307 mIsFlashlightOn = true
294308
295- sos_btn.setTextColor(getContrastColor())
309+ binding.apply {
310+ sosBtn.setTextColor(getContrastColor())
296311
297- changeIconColor(getContrastColor(), stroboscope_btn)
298- stroboscope_bar.beInvisible()
312+ changeIconColor(getContrastColor(), stroboscopeBtn)
313+ stroboscopeBar.beInvisible()
314+ }
299315 }
300316
301317 private fun disableFlashlight () {
302- changeIconColor(getContrastColor(), flashlight_btn )
318+ changeIconColor(getContrastColor(), binding.flashlightBtn )
303319 window.clearFlags(WindowManager .LayoutParams .FLAG_KEEP_SCREEN_ON )
304320 mIsFlashlightOn = false
305321 }
0 commit comments