Skip to content

Commit 1361a28

Browse files
committed
updating commons with some material elements
1 parent 6297028 commit 1361a28

File tree

9 files changed

+413
-331
lines changed

9 files changed

+413
-331
lines changed

app/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ android {
6262
}
6363

6464
dependencies {
65-
implementation 'com.github.SimpleMobileTools:Simple-Commons:c070dff787'
65+
implementation 'com.github.SimpleMobileTools:Simple-Commons:8ee6c0c17b'
6666
implementation 'org.greenrobot:eventbus:3.3.1'
6767
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
6868
}

app/src/main/kotlin/com/simplemobiletools/flashlight/activities/MainActivity.kt

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,10 @@ import android.annotation.SuppressLint
44
import android.content.Intent
55
import android.content.pm.ActivityInfo
66
import android.content.pm.ShortcutInfo
7+
import android.content.res.ColorStateList
78
import android.graphics.drawable.Icon
89
import android.graphics.drawable.LayerDrawable
910
import android.os.Bundle
10-
import android.view.Menu
11-
import android.view.MenuItem
1211
import android.view.WindowManager
1312
import android.widget.ImageView
1413
import com.simplemobiletools.commons.extensions.*
@@ -42,6 +41,7 @@ class MainActivity : SimpleActivity() {
4241
super.onCreate(savedInstanceState)
4342
setContentView(R.layout.activity_main)
4443
appLaunched(BuildConfig.APPLICATION_ID)
44+
setupOptionsMenu()
4545

4646
mBus = EventBus.getDefault()
4747
changeIconColor(getContrastColor(), stroboscope_btn)
@@ -69,6 +69,7 @@ class MainActivity : SimpleActivity() {
6969

7070
override fun onResume() {
7171
super.onResume()
72+
setupToolbar(main_toolbar)
7273
mCameraImpl!!.handleCameraSetup()
7374
checkState(MyCameraImpl.isFlashlightOn)
7475

@@ -124,19 +125,15 @@ class MainActivity : SimpleActivity() {
124125
releaseCamera()
125126
}
126127

127-
override fun onCreateOptionsMenu(menu: Menu): Boolean {
128-
menuInflater.inflate(R.menu.menu, menu)
129-
updateMenuItemColors(menu)
130-
return true
131-
}
132-
133-
override fun onOptionsItemSelected(item: MenuItem): Boolean {
134-
when (item.itemId) {
135-
R.id.settings -> launchSettings()
136-
R.id.about -> launchAbout()
137-
else -> return super.onOptionsItemSelected(item)
128+
private fun setupOptionsMenu() {
129+
main_toolbar.setOnMenuItemClickListener { menuItem ->
130+
when (menuItem.itemId) {
131+
R.id.settings -> launchSettings()
132+
R.id.about -> launchAbout()
133+
else -> return@setOnMenuItemClickListener false
134+
}
135+
return@setOnMenuItemClickListener true
138136
}
139-
return true
140137
}
141138

142139
override fun onSaveInstanceState(outState: Bundle) {

app/src/main/kotlin/com/simplemobiletools/flashlight/activities/SettingsActivity.kt

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ package com.simplemobiletools.flashlight.activities
22

33
import android.content.Intent
44
import android.os.Bundle
5-
import android.view.Menu
65
import com.simplemobiletools.commons.extensions.*
76
import com.simplemobiletools.commons.helpers.IS_CUSTOMIZING_COLORS
7+
import com.simplemobiletools.commons.helpers.NavigationIcon
88
import com.simplemobiletools.flashlight.R
99
import com.simplemobiletools.flashlight.extensions.config
1010
import kotlinx.android.synthetic.main.activity_settings.*
@@ -18,6 +18,7 @@ class SettingsActivity : SimpleActivity() {
1818

1919
override fun onResume() {
2020
super.onResume()
21+
setupToolbar(settings_toolbar, NavigationIcon.Arrow)
2122

2223
setupPurchaseThankYou()
2324
setupCustomizeColors()
@@ -29,7 +30,6 @@ class SettingsActivity : SimpleActivity() {
2930
setupSOS()
3031
setupForcePortrait()
3132
updateTextColors(settings_holder)
32-
invalidateOptionsMenu()
3333

3434
arrayOf(settings_color_customization_label, settings_general_settings_label).forEach {
3535
it.setTextColor(getProperPrimaryColor())
@@ -40,11 +40,6 @@ class SettingsActivity : SimpleActivity() {
4040
}
4141
}
4242

43-
override fun onCreateOptionsMenu(menu: Menu): Boolean {
44-
updateMenuItemColors(menu)
45-
return super.onCreateOptionsMenu(menu)
46-
}
47-
4843
private fun setupPurchaseThankYou() {
4944
settings_purchase_thank_you_holder.beGoneIf(isOrWasThankYouInstalled())
5045

app/src/main/kotlin/com/simplemobiletools/flashlight/activities/WidgetBrightDisplayConfigureActivity.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package com.simplemobiletools.flashlight.activities
33
import android.app.Activity
44
import android.appwidget.AppWidgetManager
55
import android.content.Intent
6+
import android.content.res.ColorStateList
67
import android.graphics.Color
78
import android.os.Bundle
89
import android.widget.SeekBar
@@ -49,11 +50,15 @@ class WidgetBrightDisplayConfigureActivity : SimpleActivity() {
4950
}
5051
}
5152
}
53+
54+
config_save.backgroundTintList = ColorStateList.valueOf(getProperPrimaryColor())
55+
config_save.setTextColor(getProperPrimaryColor().getContrastColor())
5256
}
5357

5458
override fun onResume() {
5559
super.onResume()
5660
window.decorView.setBackgroundColor(0)
61+
setupToolbar(config_bright_display_toolbar)
5762

5863
if (mFeatureLockedDialog != null && isOrWasThankYouInstalled()) {
5964
mFeatureLockedDialog?.dismissDialog()

app/src/main/kotlin/com/simplemobiletools/flashlight/activities/WidgetTorchConfigureActivity.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package com.simplemobiletools.flashlight.activities
33
import android.app.Activity
44
import android.appwidget.AppWidgetManager
55
import android.content.Intent
6+
import android.content.res.ColorStateList
67
import android.graphics.Color
78
import android.os.Bundle
89
import android.widget.SeekBar
@@ -50,11 +51,15 @@ class WidgetTorchConfigureActivity : SimpleActivity() {
5051
}
5152
}
5253
}
54+
55+
config_save.backgroundTintList = ColorStateList.valueOf(getProperPrimaryColor())
56+
config_save.setTextColor(getProperPrimaryColor().getContrastColor())
5357
}
5458

5559
override fun onResume() {
5660
super.onResume()
5761
window.decorView.setBackgroundColor(0)
62+
setupToolbar(config_torch_toolbar)
5863

5964
if (mFeatureLockedDialog != null && isOrWasThankYouInstalled()) {
6065
mFeatureLockedDialog?.dismissDialog()
Lines changed: 98 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -1,86 +1,110 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
2+
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
33
xmlns:app="http://schemas.android.com/apk/res-auto"
4-
android:id="@+id/main_scrollview"
4+
android:id="@+id/main_coordinator"
55
android:layout_width="match_parent"
6-
android:layout_height="match_parent"
7-
android:fillViewport="true">
6+
android:layout_height="match_parent">
87

9-
<androidx.constraintlayout.widget.ConstraintLayout
10-
android:id="@+id/main_holder"
8+
<com.google.android.material.appbar.AppBarLayout
9+
android:id="@+id/main_app_bar_layout"
1110
android:layout_width="match_parent"
1211
android:layout_height="wrap_content">
1312

14-
<ImageView
15-
android:id="@+id/flashlight_btn"
16-
android:layout_width="@dimen/main_button_size"
17-
android:layout_height="@dimen/main_button_size"
18-
android:layout_marginTop="@dimen/normal_margin"
19-
android:layout_marginBottom="@dimen/normal_margin"
20-
android:background="@drawable/ic_flashlight"
21-
app:layout_constraintBottom_toTopOf="@+id/bright_display_btn"
22-
app:layout_constraintEnd_toEndOf="parent"
23-
app:layout_constraintHorizontal_bias="0.5"
24-
app:layout_constraintStart_toStartOf="parent"
25-
app:layout_constraintTop_toTopOf="parent" />
13+
<com.google.android.material.appbar.MaterialToolbar
14+
android:id="@+id/main_toolbar"
15+
android:layout_width="match_parent"
16+
android:layout_height="?attr/actionBarSize"
17+
android:background="@color/color_primary"
18+
app:menu="@menu/menu"
19+
app:title="@string/app_launcher_name"
20+
app:titleTextAppearance="@style/AppTheme.ActionBar.TitleTextStyle" />
2621

27-
<ImageView
28-
android:id="@+id/bright_display_btn"
29-
android:layout_width="wrap_content"
30-
android:layout_height="wrap_content"
31-
android:layout_marginTop="@dimen/normal_margin"
32-
android:layout_marginBottom="@dimen/normal_margin"
33-
android:background="@drawable/ic_bright_display"
34-
android:padding="@dimen/activity_margin"
35-
app:layout_constraintBottom_toTopOf="@+id/sos_btn"
36-
app:layout_constraintEnd_toEndOf="parent"
37-
app:layout_constraintHorizontal_bias="0.5"
38-
app:layout_constraintStart_toStartOf="parent"
39-
app:layout_constraintTop_toBottomOf="@+id/flashlight_btn" />
22+
</com.google.android.material.appbar.AppBarLayout>
4023

41-
<TextView
42-
android:id="@+id/sos_btn"
43-
android:layout_width="wrap_content"
44-
android:layout_height="wrap_content"
45-
android:layout_marginTop="@dimen/normal_margin"
46-
android:layout_marginBottom="@dimen/normal_margin"
47-
android:background="?attr/selectableItemBackgroundBorderless"
48-
android:padding="@dimen/activity_margin"
49-
android:text="SOS"
50-
android:textSize="@dimen/sos_text_size"
51-
android:textStyle="bold"
52-
app:layout_constraintBottom_toTopOf="@+id/stroboscope_btn"
53-
app:layout_constraintEnd_toEndOf="parent"
54-
app:layout_constraintHorizontal_bias="0.5"
55-
app:layout_constraintStart_toStartOf="parent"
56-
app:layout_constraintTop_toBottomOf="@+id/bright_display_btn" />
24+
<androidx.core.widget.NestedScrollView
25+
android:id="@+id/main_scrollview"
26+
android:layout_width="match_parent"
27+
android:layout_height="match_parent"
28+
android:fillViewport="true"
29+
android:scrollbars="none"
30+
app:layout_behavior="@string/appbar_scrolling_view_behavior">
31+
32+
<androidx.constraintlayout.widget.ConstraintLayout
33+
android:id="@+id/main_holder"
34+
android:layout_width="match_parent"
35+
android:layout_height="wrap_content">
36+
37+
<ImageView
38+
android:id="@+id/flashlight_btn"
39+
android:layout_width="@dimen/main_button_size"
40+
android:layout_height="@dimen/main_button_size"
41+
android:layout_marginTop="@dimen/normal_margin"
42+
android:layout_marginBottom="@dimen/normal_margin"
43+
android:background="@drawable/ic_flashlight"
44+
app:layout_constraintBottom_toTopOf="@+id/bright_display_btn"
45+
app:layout_constraintEnd_toEndOf="parent"
46+
app:layout_constraintHorizontal_bias="0.5"
47+
app:layout_constraintStart_toStartOf="parent"
48+
app:layout_constraintTop_toTopOf="parent" />
49+
50+
<ImageView
51+
android:id="@+id/bright_display_btn"
52+
android:layout_width="wrap_content"
53+
android:layout_height="wrap_content"
54+
android:layout_marginTop="@dimen/normal_margin"
55+
android:layout_marginBottom="@dimen/normal_margin"
56+
android:background="@drawable/ic_bright_display"
57+
android:padding="@dimen/activity_margin"
58+
app:layout_constraintBottom_toTopOf="@+id/sos_btn"
59+
app:layout_constraintEnd_toEndOf="parent"
60+
app:layout_constraintHorizontal_bias="0.5"
61+
app:layout_constraintStart_toStartOf="parent"
62+
app:layout_constraintTop_toBottomOf="@+id/flashlight_btn" />
63+
64+
<TextView
65+
android:id="@+id/sos_btn"
66+
android:layout_width="wrap_content"
67+
android:layout_height="wrap_content"
68+
android:layout_marginTop="@dimen/normal_margin"
69+
android:layout_marginBottom="@dimen/normal_margin"
70+
android:background="?attr/selectableItemBackgroundBorderless"
71+
android:padding="@dimen/activity_margin"
72+
android:text="SOS"
73+
android:textSize="@dimen/sos_text_size"
74+
android:textStyle="bold"
75+
app:layout_constraintBottom_toTopOf="@+id/stroboscope_btn"
76+
app:layout_constraintEnd_toEndOf="parent"
77+
app:layout_constraintHorizontal_bias="0.5"
78+
app:layout_constraintStart_toStartOf="parent"
79+
app:layout_constraintTop_toBottomOf="@+id/bright_display_btn" />
5780

58-
<ImageView
59-
android:id="@+id/stroboscope_btn"
60-
android:layout_width="wrap_content"
61-
android:layout_height="wrap_content"
62-
android:layout_marginTop="@dimen/normal_margin"
63-
android:background="@drawable/ic_stroboscope"
64-
android:padding="@dimen/activity_margin"
65-
app:layout_constraintBottom_toTopOf="@+id/stroboscope_bar"
66-
app:layout_constraintEnd_toEndOf="parent"
67-
app:layout_constraintHorizontal_bias="0.5"
68-
app:layout_constraintStart_toStartOf="parent"
69-
app:layout_constraintTop_toBottomOf="@+id/sos_btn" />
81+
<ImageView
82+
android:id="@+id/stroboscope_btn"
83+
android:layout_width="wrap_content"
84+
android:layout_height="wrap_content"
85+
android:layout_marginTop="@dimen/normal_margin"
86+
android:background="@drawable/ic_stroboscope"
87+
android:padding="@dimen/activity_margin"
88+
app:layout_constraintBottom_toTopOf="@+id/stroboscope_bar"
89+
app:layout_constraintEnd_toEndOf="parent"
90+
app:layout_constraintHorizontal_bias="0.5"
91+
app:layout_constraintStart_toStartOf="parent"
92+
app:layout_constraintTop_toBottomOf="@+id/sos_btn" />
7093

71-
<com.simplemobiletools.commons.views.MySeekBar
72-
android:id="@+id/stroboscope_bar"
73-
android:layout_width="@dimen/seekbar_width"
74-
android:layout_height="wrap_content"
75-
android:layout_margin="@dimen/activity_margin"
76-
android:paddingTop="@dimen/medium_margin"
77-
android:paddingBottom="@dimen/medium_margin"
78-
android:visibility="invisible"
79-
app:layout_constraintBottom_toBottomOf="parent"
80-
app:layout_constraintEnd_toEndOf="parent"
81-
app:layout_constraintHorizontal_bias="0.5"
82-
app:layout_constraintStart_toStartOf="parent"
83-
app:layout_constraintTop_toBottomOf="@+id/stroboscope_btn" />
94+
<com.simplemobiletools.commons.views.MySeekBar
95+
android:id="@+id/stroboscope_bar"
96+
android:layout_width="@dimen/seekbar_width"
97+
android:layout_height="wrap_content"
98+
android:layout_margin="@dimen/activity_margin"
99+
android:paddingTop="@dimen/medium_margin"
100+
android:paddingBottom="@dimen/medium_margin"
101+
android:visibility="invisible"
102+
app:layout_constraintBottom_toBottomOf="parent"
103+
app:layout_constraintEnd_toEndOf="parent"
104+
app:layout_constraintHorizontal_bias="0.5"
105+
app:layout_constraintStart_toStartOf="parent"
106+
app:layout_constraintTop_toBottomOf="@+id/stroboscope_btn" />
84107

85-
</androidx.constraintlayout.widget.ConstraintLayout>
86-
</ScrollView>
108+
</androidx.constraintlayout.widget.ConstraintLayout>
109+
</androidx.core.widget.NestedScrollView>
110+
</androidx.coordinatorlayout.widget.CoordinatorLayout>

0 commit comments

Comments
 (0)