1
1
package de.jrpie.android.launcher.ui
2
2
3
3
import android.annotation.SuppressLint
4
+ import android.app.Activity
4
5
import android.content.SharedPreferences
5
6
import android.content.res.Configuration
6
7
import android.content.res.Resources
@@ -10,8 +11,7 @@ import android.view.KeyEvent
10
11
import android.view.MotionEvent
11
12
import android.view.View
12
13
import android.window.OnBackInvokedDispatcher
13
- import androidx.appcompat.app.AppCompatActivity
14
- import androidx.core.view.isVisible
14
+ import de.jrpie.android.launcher.Application
15
15
import de.jrpie.android.launcher.R
16
16
import de.jrpie.android.launcher.actions.Action
17
17
import de.jrpie.android.launcher.actions.Gesture
@@ -20,7 +20,6 @@ import de.jrpie.android.launcher.databinding.HomeBinding
20
20
import de.jrpie.android.launcher.openTutorial
21
21
import de.jrpie.android.launcher.preferences.LauncherPreferences
22
22
import de.jrpie.android.launcher.ui.tutorial.TutorialActivity
23
- import java.util.Locale
24
23
25
24
/* *
26
25
* [HomeActivity] is the actual application Launcher,
@@ -34,7 +33,7 @@ import java.util.Locale
34
33
* - Setting global variables (preferences etc.)
35
34
* - Opening the [TutorialActivity] on new installations
36
35
*/
37
- class HomeActivity : UIObject , AppCompatActivity () {
36
+ class HomeActivity : UIObject , Activity () {
38
37
39
38
private lateinit var binding: HomeBinding
40
39
private var touchGestureDetector: TouchGestureDetector ? = null
@@ -45,15 +44,18 @@ class HomeActivity : UIObject, AppCompatActivity() {
45
44
prefKey?.startsWith(" display." ) == true
46
45
) {
47
46
recreate()
48
- }
49
-
50
- if (prefKey?.startsWith(" action." ) == true ) {
47
+ } else if (prefKey?.startsWith(" action." ) == true ) {
51
48
updateSettingsFallbackButtonVisibility()
49
+ } else if (prefKey == LauncherPreferences .widgets().keys().widgets()) {
50
+ binding.homeWidgetContainer.updateWidgets(this @HomeActivity,
51
+ LauncherPreferences .widgets().widgets()
52
+ )
52
53
}
54
+
53
55
}
54
56
55
57
override fun onCreate (savedInstanceState : Bundle ? ) {
56
- super <AppCompatActivity >.onCreate(savedInstanceState)
58
+ super <Activity >.onCreate(savedInstanceState)
57
59
super <UIObject >.onCreate()
58
60
59
61
@@ -81,8 +83,7 @@ class HomeActivity : UIObject, AppCompatActivity() {
81
83
}
82
84
83
85
override fun onStart () {
84
- super <AppCompatActivity >.onStart()
85
-
86
+ super <Activity >.onStart()
86
87
super <UIObject >.onStart()
87
88
88
89
// If the tutorial was not finished, start it
@@ -93,6 +94,15 @@ class HomeActivity : UIObject, AppCompatActivity() {
93
94
LauncherPreferences .getSharedPreferences()
94
95
.registerOnSharedPreferenceChangeListener(sharedPreferencesListener)
95
96
97
+ (application as Application ).appWidgetHost.startListening()
98
+
99
+ }
100
+
101
+
102
+
103
+ override fun onStop () {
104
+ (application as Application ).appWidgetHost.stopListening()
105
+ super .onStop()
96
106
}
97
107
98
108
override fun onWindowFocusChanged (hasFocus : Boolean ) {
@@ -118,44 +128,6 @@ class HomeActivity : UIObject, AppCompatActivity() {
118
128
}
119
129
}
120
130
121
- private fun initClock () {
122
- val locale = Locale .getDefault()
123
- val dateVisible = LauncherPreferences .clock().dateVisible()
124
- val timeVisible = LauncherPreferences .clock().timeVisible()
125
-
126
- var dateFMT = " yyyy-MM-dd"
127
- var timeFMT = " HH:mm"
128
- if (LauncherPreferences .clock().showSeconds()) {
129
- timeFMT + = " :ss"
130
- }
131
-
132
- if (LauncherPreferences .clock().localized()) {
133
- dateFMT = android.text.format.DateFormat .getBestDateTimePattern(locale, dateFMT)
134
- timeFMT = android.text.format.DateFormat .getBestDateTimePattern(locale, timeFMT)
135
- }
136
-
137
- var upperFormat = dateFMT
138
- var lowerFormat = timeFMT
139
- var upperVisible = dateVisible
140
- var lowerVisible = timeVisible
141
-
142
- if (LauncherPreferences .clock().flipDateTime()) {
143
- upperFormat = lowerFormat.also { lowerFormat = upperFormat }
144
- upperVisible = lowerVisible.also { lowerVisible = upperVisible }
145
- }
146
-
147
- binding.homeUpperView.isVisible = upperVisible
148
- binding.homeLowerView.isVisible = lowerVisible
149
-
150
- binding.homeUpperView.setTextColor(LauncherPreferences .clock().color())
151
- binding.homeLowerView.setTextColor(LauncherPreferences .clock().color())
152
-
153
- binding.homeLowerView.format24Hour = lowerFormat
154
- binding.homeUpperView.format24Hour = upperFormat
155
- binding.homeLowerView.format12Hour = lowerFormat
156
- binding.homeUpperView.format12Hour = upperFormat
157
- }
158
-
159
131
override fun getTheme (): Resources .Theme {
160
132
val mTheme = modifyTheme(super .getTheme())
161
133
mTheme.applyStyle(R .style.backgroundWallpaper, true )
@@ -193,9 +165,11 @@ class HomeActivity : UIObject, AppCompatActivity() {
193
165
windowInsets
194
166
}
195
167
}
196
-
197
- initClock()
198
168
updateSettingsFallbackButtonVisibility()
169
+
170
+ binding.homeWidgetContainer.updateWidgets(this @HomeActivity,
171
+ LauncherPreferences .widgets().widgets()
172
+ )
199
173
}
200
174
201
175
override fun onDestroy () {
@@ -233,30 +207,11 @@ class HomeActivity : UIObject, AppCompatActivity() {
233
207
}
234
208
235
209
override fun onTouchEvent (event : MotionEvent ): Boolean {
210
+ android.util.Log .e(" Launcher" , " on touch" )
236
211
touchGestureDetector?.onTouchEvent(event)
237
212
return true
238
213
}
239
214
240
- override fun setOnClicks () {
241
-
242
- binding.homeUpperView.setOnClickListener {
243
- if (LauncherPreferences .clock().flipDateTime()) {
244
- Gesture .TIME (this )
245
- } else {
246
- Gesture .DATE (this )
247
- }
248
- }
249
-
250
- binding.homeLowerView.setOnClickListener {
251
- if (LauncherPreferences .clock().flipDateTime()) {
252
- Gesture .DATE (this )
253
- } else {
254
- Gesture .TIME (this )
255
- }
256
- }
257
- }
258
-
259
-
260
215
private fun handleBack () {
261
216
Gesture .BACK (this )
262
217
}
0 commit comments