Skip to content

Commit 9401b40

Browse files
committed
Move stuff to AndroidUtils
1 parent d608d57 commit 9401b40

File tree

14 files changed

+53
-147
lines changed

14 files changed

+53
-147
lines changed

app/build.gradle

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ android {
1616
minSdk libs.versions.minSdk.get().toInteger()
1717
targetSdk libs.versions.compileSdk.get().toInteger()
1818

19-
versionCode 3
20-
versionName '1.0.2'
19+
versionCode 4
20+
versionName '1.1.0'
2121

2222
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
2323
}
@@ -50,6 +50,9 @@ android {
5050
sourceCompatibility JavaVersion.VERSION_11
5151
targetCompatibility JavaVersion.VERSION_11
5252
}
53+
kotlinOptions {
54+
jvmTarget = '11'
55+
}
5356
buildFeatures {
5457
compose true
5558
}

app/src/main/kotlin/com/w2sv/wifiwidget/activities/HomeActivity.kt

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,14 @@ import androidx.lifecycle.LifecycleObserver
2323
import androidx.lifecycle.SavedStateHandle
2424
import androidx.localbroadcastmanager.content.LocalBroadcastManager
2525
import com.w2sv.androidutils.SelfManagingLocalBroadcastReceiver
26+
import com.w2sv.androidutils.extensions.getIntExtraOrNull
27+
import com.w2sv.androidutils.extensions.locationServicesEnabled
2628
import com.w2sv.androidutils.extensions.showToast
2729
import com.w2sv.wifiwidget.preferences.GlobalFlags
2830
import com.w2sv.wifiwidget.preferences.WidgetProperties
2931
import com.w2sv.wifiwidget.ui.WifiWidgetTheme
3032
import com.w2sv.wifiwidget.ui.home.HomeScreen
31-
import com.w2sv.wifiwidget.utils.getIntExtraOrNull
3233
import com.w2sv.wifiwidget.utils.getMutableStateMap
33-
import com.w2sv.wifiwidget.utils.locationServicesEnabled
3434
import com.w2sv.wifiwidget.widget.WifiWidgetProvider
3535
import dagger.hilt.android.AndroidEntryPoint
3636
import dagger.hilt.android.lifecycle.HiltViewModel
@@ -140,7 +140,7 @@ class HomeActivity : AppActivity() {
140140
lapRequestLauncher,
141141
WifiWidgetOptionsChangedReceiver(
142142
LocalBroadcastManager.getInstance(this)
143-
) { intent ->
143+
) { _, intent ->
144144
intent?.getIntExtraOrNull(WifiWidgetProvider.EXTRA_WIDGET_ID, -1)?.let { widgetId ->
145145
viewModel.onWidgetOptionsUpdated(widgetId, this)
146146
}
@@ -179,15 +179,12 @@ class HomeActivity : AppActivity() {
179179

180180
class WifiWidgetOptionsChangedReceiver(
181181
broadcastManager: LocalBroadcastManager,
182-
private val callback: (Intent?) -> Unit
183-
) : SelfManagingLocalBroadcastReceiver(
182+
callback: (Context?, Intent?) -> Unit
183+
) : SelfManagingLocalBroadcastReceiver.Impl(
184184
broadcastManager,
185-
IntentFilter(WifiWidgetProvider.ACTION_WIDGET_OPTIONS_CHANGED)
186-
) {
187-
override fun onReceive(context: Context?, intent: Intent?) {
188-
callback(intent)
189-
}
190-
}
185+
IntentFilter(WifiWidgetProvider.ACTION_WIDGET_OPTIONS_CHANGED),
186+
callback
187+
)
191188

192189
val lapRequestLauncher by lazy {
193190
LocationAccessPermissionHandler(this) { permissionGrantedMap ->
@@ -197,7 +194,6 @@ class HomeActivity : AppActivity() {
197194
syncWidgetPropertyStates()
198195
}
199196
}
200-
201197
requestWidgetPin()
202198
}
203199
}
Lines changed: 2 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,16 @@
11
package com.w2sv.wifiwidget.ui
22

3-
import androidx.compose.foundation.text.InlineTextContent
43
import androidx.compose.material3.LocalTextStyle
54
import androidx.compose.material3.Text
65
import androidx.compose.runtime.Composable
76
import androidx.compose.ui.Modifier
87
import androidx.compose.ui.graphics.Color
9-
import androidx.compose.ui.text.AnnotatedString
108
import androidx.compose.ui.text.TextLayoutResult
119
import androidx.compose.ui.text.TextStyle
1210
import androidx.compose.ui.text.font.Font
13-
import androidx.compose.ui.text.font.FontFamily
1411
import androidx.compose.ui.text.font.FontStyle
1512
import androidx.compose.ui.text.font.FontWeight
13+
import androidx.compose.ui.text.font.toFontFamily
1614
import androidx.compose.ui.text.style.TextAlign
1715
import androidx.compose.ui.text.style.TextDecoration
1816
import androidx.compose.ui.text.style.TextOverflow
@@ -57,44 +55,4 @@ fun JostText(
5755
)
5856
}
5957

60-
@Composable
61-
fun JostText(
62-
text: AnnotatedString,
63-
modifier: Modifier = Modifier,
64-
color: Color = Color.Unspecified,
65-
fontSize: TextUnit = TextUnit.Unspecified,
66-
fontStyle: FontStyle? = null,
67-
fontWeight: FontWeight? = null,
68-
letterSpacing: TextUnit = TextUnit.Unspecified,
69-
textDecoration: TextDecoration? = null,
70-
textAlign: TextAlign? = null,
71-
lineHeight: TextUnit = TextUnit.Unspecified,
72-
overflow: TextOverflow = TextOverflow.Clip,
73-
softWrap: Boolean = true,
74-
maxLines: Int = Int.MAX_VALUE,
75-
inlineContent: Map<String, InlineTextContent> = mapOf(),
76-
onTextLayout: (TextLayoutResult) -> Unit = {},
77-
style: TextStyle = LocalTextStyle.current
78-
) {
79-
Text(
80-
text,
81-
modifier,
82-
color,
83-
fontSize,
84-
fontStyle,
85-
fontWeight,
86-
jost,
87-
letterSpacing,
88-
textDecoration,
89-
textAlign,
90-
lineHeight,
91-
overflow,
92-
softWrap,
93-
maxLines,
94-
inlineContent,
95-
onTextLayout,
96-
style
97-
)
98-
}
99-
100-
private val jost = FontFamily(Font(R.font.jost))
58+
private val jost = Font(R.font.jost).toFontFamily()

app/src/main/kotlin/com/w2sv/wifiwidget/ui/home/HomeScreen.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ internal fun HomeScreen() {
5050
}
5151

5252
@Composable
53-
private fun CopyrightText(modifier: Modifier) {
53+
private fun CopyrightText(modifier: Modifier = Modifier) {
5454
JostText(
5555
text = "© 2022 - ${Calendar.getInstance().get(Calendar.YEAR)} | W2SV",
5656
color = MaterialTheme.colorScheme.secondary,

app/src/main/kotlin/com/w2sv/wifiwidget/ui/home/NavigationDrawer.kt

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import android.content.ActivityNotFoundException
44
import android.content.Context
55
import android.content.Intent
66
import android.net.Uri
7+
import androidx.activity.compose.BackHandler
78
import androidx.annotation.DrawableRes
89
import androidx.compose.foundation.*
910
import androidx.compose.foundation.layout.*
@@ -23,18 +24,18 @@ import androidx.compose.ui.unit.dp
2324
import androidx.compose.ui.unit.sp
2425
import androidx.core.app.ShareCompat
2526
import com.w2sv.androidutils.extensions.goToWebpage
27+
import com.w2sv.androidutils.extensions.playStoreLink
2628
import com.w2sv.androidutils.extensions.showToast
2729
import com.w2sv.wifiwidget.BuildConfig
2830
import com.w2sv.wifiwidget.R
2931
import com.w2sv.wifiwidget.ui.JostText
3032
import com.w2sv.wifiwidget.ui.WifiWidgetTheme
31-
import com.w2sv.wifiwidget.utils.playStoreLink
3233
import kotlinx.coroutines.launch
3334

3435
@OptIn(ExperimentalMaterial3Api::class)
3536
@Preview
3637
@Composable
37-
private fun NavigationDrawerPreview() {
38+
private fun NavigationDrawerPrev() {
3839
WifiWidgetTheme {
3940
NavigationDrawer {
4041
}
@@ -49,6 +50,12 @@ fun NavigationDrawer(content: @Composable (DrawerState) -> Unit) {
4950
val drawerState = rememberDrawerState(DrawerValue.Closed)
5051
val properties = NavigationDrawerItemProperties.get(LocalContext.current)
5152

53+
BackHandler(drawerState.isOpen) {
54+
scope.launch {
55+
drawerState.close()
56+
}
57+
}
58+
5259
ModalNavigationDrawer(
5360
drawerContent = {
5461
ModalDrawerSheet(drawerContainerColor = MaterialTheme.colorScheme.secondary) {

app/src/main/kotlin/com/w2sv/wifiwidget/ui/home/PropertyInfoDialog.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@ import androidx.compose.ui.platform.LocalContext
1111
import androidx.compose.ui.text.style.TextAlign
1212
import androidx.compose.ui.tooling.preview.Preview
1313
import androidx.compose.ui.unit.dp
14+
import com.w2sv.androidutils.extensions.getNestedStringArray
1415
import com.w2sv.androidutils.extensions.goToWebpage
1516
import com.w2sv.wifiwidget.R
1617
import com.w2sv.wifiwidget.ui.DialogButton
1718
import com.w2sv.wifiwidget.ui.JostText
1819
import com.w2sv.wifiwidget.ui.WifiWidgetTheme
19-
import com.w2sv.wifiwidget.utils.getNestedStringArray
2020

2121
@Composable
2222
fun PropertyInfoDialog(

app/src/main/kotlin/com/w2sv/wifiwidget/utils/Context.kt

Lines changed: 0 additions & 11 deletions
This file was deleted.

app/src/main/kotlin/com/w2sv/wifiwidget/utils/Intent.kt

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,5 @@ package com.w2sv.wifiwidget.utils
22

33
import android.content.Intent
44

5-
fun Intent.getIntExtraOrNull(name: String, defaultValue: Int): Int? =
6-
getIntExtra(name, defaultValue).run {
7-
if (equals(defaultValue))
8-
null
9-
else
10-
this
11-
}
12-
135
fun Intent.setMakeUniqueActivityFlags(): Intent =
146
setFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK)

app/src/main/kotlin/com/w2sv/wifiwidget/utils/Resources.kt

Lines changed: 0 additions & 10 deletions
This file was deleted.

app/src/main/kotlin/com/w2sv/wifiwidget/widget/ConnectionDependentWidgetLayoutSetter.kt

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,12 @@ import android.view.View
99
import android.widget.RemoteViews
1010
import androidx.annotation.IdRes
1111
import androidx.annotation.StringRes
12+
import com.w2sv.androidutils.extensions.crossVisualize
1213
import com.w2sv.wifiwidget.R
1314
import com.w2sv.wifiwidget.activities.HomeActivity
1415
import com.w2sv.wifiwidget.preferences.WidgetProperties
1516
import com.w2sv.wifiwidget.utils.setMakeUniqueActivityFlags
1617
import com.w2sv.wifiwidget.widget.utils.asFormattedIpAddress
17-
import com.w2sv.wifiwidget.widget.extensions.crossVisualize
1818
import com.w2sv.wifiwidget.widget.utils.isWifiConnected
1919
import com.w2sv.wifiwidget.widget.utils.netmask
2020
import dagger.hilt.EntryPoint
@@ -171,8 +171,11 @@ internal class ConnectionDependentWidgetLayoutSetter @Inject constructor() {
171171

172172
private fun RemoteViews.setLayout(connectionAvailable: Boolean){
173173
when(connectionAvailable){
174-
false -> crossVisualize(R.id.no_connection_available_layout, R.id.wifi_properties_layout)
175-
true -> crossVisualize(R.id.wifi_properties_layout, R.id.no_connection_available_layout)
174+
false -> crossVisualize(
175+
R.id.wifi_properties_layout,
176+
R.id.no_connection_available_layout
177+
)
178+
true -> crossVisualize(R.id.no_connection_available_layout, R.id.wifi_properties_layout)
176179
}
177180
}
178181
}

0 commit comments

Comments
 (0)