Skip to content

Commit 1ae6688

Browse files
committed
Some code clean up
1 parent 1400d5a commit 1ae6688

12 files changed

Lines changed: 67 additions & 88 deletions

File tree

app/src/main/java/com/android1500/gpssetter/App.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ import android.app.Application
44
import androidx.appcompat.app.AppCompatDelegate
55
import com.android1500.gpssetter.utils.PrefManager
66
import dagger.hilt.android.HiltAndroidApp
7+
import kotlinx.coroutines.CoroutineScope
8+
import kotlinx.coroutines.Dispatchers
79
import rikka.material.app.DayNightDelegate
810
import timber.log.Timber
911

@@ -12,17 +14,16 @@ lateinit var gsApp: App
1214

1315
@HiltAndroidApp
1416
class App : Application() {
17+
val globalScope = CoroutineScope(Dispatchers.Default)
1518

1619
companion object {
1720
fun commonInit() {
1821
if (BuildConfig.DEBUG) {
1922
Timber.plant(Timber.DebugTree())
2023
}
2124
}
22-
2325
}
2426

25-
2627
override fun onCreate() {
2728
super.onCreate()
2829
gsApp = this

app/src/main/java/com/android1500/gpssetter/ui/MainActivity.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.android1500.gpssetter.ui
22

3-
import androidx.appcompat.app.AppCompatActivity
43
import android.os.Bundle
4+
import androidx.appcompat.app.AppCompatActivity
55
import androidx.core.view.WindowCompat
66
import androidx.navigation.Navigation
77
import by.kirich1409.viewbindingdelegate.viewBinding
@@ -22,4 +22,6 @@ class MainActivity : AppCompatActivity(R.layout.activity_main) {
2222
val navController = Navigation.findNavController(this, R.id.nav_host_fragment)
2323
return navController.navigateUp() || super.onSupportNavigateUp()
2424
}
25+
26+
2527
}

app/src/main/java/com/android1500/gpssetter/ui/MapsFragment.kt

Lines changed: 22 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,16 @@ import android.app.Notification
44
import android.app.ProgressDialog
55
import android.location.Address
66
import android.location.Geocoder
7-
import androidx.fragment.app.Fragment
8-
97
import android.os.Bundle
10-
import android.view.LayoutInflater
118
import android.view.MenuItem
129
import android.view.View
13-
import android.view.ViewGroup
1410
import android.widget.EditText
1511
import android.widget.TextView
1612
import android.widget.Toast
1713
import androidx.appcompat.app.AlertDialog
18-
import androidx.appcompat.app.AppCompatActivity
1914
import androidx.appcompat.widget.AppCompatButton
2015
import androidx.core.app.NotificationCompat
16+
import androidx.fragment.app.Fragment
2117
import androidx.fragment.app.viewModels
2218
import androidx.lifecycle.Lifecycle
2319
import androidx.lifecycle.lifecycleScope
@@ -55,13 +51,9 @@ class MapsFragment : Fragment(R.layout.fragment_maps), OnMapReadyCallback, Googl
5551

5652
private lateinit var mMap: GoogleMap
5753
private val viewModel by viewModels<MainViewModel>()
58-
private val binding by viewBinding<FragmentMapsBinding> { }
59-
private val update by lazy {
60-
viewModel.getAvailableUpdate()
61-
}
62-
private val notificationsChannel by lazy {
63-
NotificationsChannel()
64-
}
54+
private val binding : FragmentMapsBinding by viewBinding()
55+
private val update by lazy { viewModel.getAvailableUpdate() }
56+
private val notificationsChannel by lazy { NotificationsChannel() }
6557

6658
private var favListAdapter: FavListAdapter = FavListAdapter()
6759
private var mMarker: Marker? = null
@@ -80,34 +72,37 @@ class MapsFragment : Fragment(R.layout.fragment_maps), OnMapReadyCallback, Googl
8072
R.id.get_favourite -> openFavouriteListDialog()
8173
R.id.search -> searchDialog()
8274
R.id.settings -> navController.navigate(R.id.action_mapsFragment_to_settingsFragment)
83-
8475
}
85-
8676
}
8777

88-
89-
9078
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
9179
super.onViewCreated(view, savedInstanceState)
9280
setupToolbar (
9381
toolbar = binding.toolbar,
9482
title = getString(R.string.app_name),
9583
menuRes = R.menu.main_menu,
9684
onMenuOptionSelected = this::onMenuOptionSelected
97-
9885
)
86+
9987
initializeMap()
10088
setFloatActionButton()
10189
isModuleEnable()
10290
updateChecker()
10391

10492
}
10593

106-
private fun initializeMap() {
107-
val mapFragment = childFragmentManager.findFragmentById(R.id.map) as SupportMapFragment?
108-
mapFragment?.getMapAsync(this)
94+
override fun onSaveInstanceState(outState: Bundle) {
95+
super.onSaveInstanceState(outState)
96+
10997
}
11098

99+
private fun initializeMap() {
100+
lifecycleScope.launchWhenResumed {
101+
val mapFragment = childFragmentManager.findFragmentById(R.id.map) as SupportMapFragment?
102+
mapFragment?.getMapAsync(this@MapsFragment)
103+
}
104+
105+
}
111106

112107
private fun isModuleEnable(){
113108
viewModel.isXposed.observe(requireActivity()){ isXposed ->
@@ -203,9 +198,6 @@ class MapsFragment : Fragment(R.layout.fragment_maps), OnMapReadyCallback, Googl
203198
}
204199

205200

206-
207-
208-
209201
private fun moveMapToNewLocation(moveNewLocation: Boolean) {
210202
if (moveNewLocation) {
211203
mLatLng = LatLng(lat, lon)
@@ -216,7 +208,6 @@ class MapsFragment : Fragment(R.layout.fragment_maps), OnMapReadyCallback, Googl
216208
isVisible = true
217209
showInfoWindow()
218210
}
219-
220211
}
221212
}
222213

@@ -229,8 +220,6 @@ class MapsFragment : Fragment(R.layout.fragment_maps), OnMapReadyCallback, Googl
229220
}
230221

231222

232-
233-
234223
private fun aboutDialog(){
235224
alertDialog = MaterialAlertDialogBuilder(requireContext())
236225
layoutInflater.inflate(R.layout.about,null).apply {
@@ -244,8 +233,6 @@ class MapsFragment : Fragment(R.layout.fragment_maps), OnMapReadyCallback, Googl
244233
alertDialog.setView(this)
245234
alertDialog.show()
246235
}
247-
248-
249236
}
250237

251238

@@ -282,14 +269,14 @@ class MapsFragment : Fragment(R.layout.fragment_maps), OnMapReadyCallback, Googl
282269
progressBar.dismiss()
283270
requireContext().showToast(result.error!!)
284271
}
285-
else -> {}
272+
else -> { }
286273
}
287274
}
288275
}
289276
}
290277
}
291278
} else {
292-
requireContext().showToast("Internet not connected")
279+
requireContext().showToast(getString(R.string.no_internet))
293280
}
294281
}
295282
alertDialog.show()
@@ -323,7 +310,7 @@ class MapsFragment : Fragment(R.layout.fragment_maps), OnMapReadyCallback, Googl
323310
private fun openFavouriteListDialog() {
324311
getAllUpdatedFavList()
325312
alertDialog = MaterialAlertDialogBuilder(requireContext())
326-
alertDialog.setTitle(getString(R.string.title_fav))
313+
alertDialog.setTitle(getString(R.string.favourites))
327314
val view = layoutInflater.inflate(R.layout.fav,null)
328315
val rcv = view.findViewById<RecyclerView>(R.id.favorites_list)
329316
rcv.layoutManager = LinearLayoutManager(requireContext())
@@ -364,9 +351,9 @@ class MapsFragment : Fragment(R.layout.fragment_maps), OnMapReadyCallback, Googl
364351

365352
private fun updateDialog(){
366353
alertDialog = MaterialAlertDialogBuilder(requireContext())
367-
alertDialog.setTitle(R.string.snackbar_update)
354+
alertDialog.setTitle(R.string.update_available)
368355
alertDialog.setMessage(update?.changelog)
369-
alertDialog.setPositiveButton(getString(R.string.update)) { _, _ ->
356+
alertDialog.setPositiveButton(getString(R.string.update_button)) { _, _ ->
370357
MaterialAlertDialogBuilder(requireContext()).apply {
371358
val view = layoutInflater.inflate(R.layout.update_dialog, null)
372359
val progress = view.findViewById<LinearProgressIndicator>(R.id.update_download_progress)
@@ -456,11 +443,11 @@ class MapsFragment : Fragment(R.layout.fragment_maps), OnMapReadyCallback, Googl
456443
sb.append(list[0].longitude)
457444
trySend(SearchProgress.Complete(sb.toString()))
458445
} else {
459-
trySend(SearchProgress.Fail("Address not found"))
446+
trySend(SearchProgress.Fail(getString(R.string.address_not_found)))
460447
}
461448
} catch (io : IOException){
462449
io.printStackTrace()
463-
trySend(SearchProgress.Fail("No internet"))
450+
trySend(SearchProgress.Fail(getString(R.string.no_internet)))
464451
}
465452

466453
}
@@ -480,9 +467,6 @@ class MapsFragment : Fragment(R.layout.fragment_maps), OnMapReadyCallback, Googl
480467
}
481468

482469

483-
484-
485-
486470
private fun showStartNotification(address: String){
487471
notificationsChannel.showNotification(requireContext()){
488472
it.setSmallIcon(R.drawable.ic_stop)

app/src/main/java/com/android1500/gpssetter/ui/SettingsFragment.kt

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,7 @@ import rikka.preference.SimpleMenuPreference
2525
class SettingsFragment : Fragment(R.layout.fragment_setting) {
2626

2727
private val binding by viewBinding<FragmentSettingBinding>()
28-
private fun onBack() {
29-
navController.navigateUp()
30-
}
28+
3129

3230

3331
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
@@ -36,7 +34,7 @@ class SettingsFragment : Fragment(R.layout.fragment_setting) {
3634
toolbar = binding.toolbar,
3735
title = getString(R.string.settings),
3836
navigationIcon = R.drawable.ic_back_arrow,
39-
navigationOnClick = {onBack()}
37+
navigationOnClick = { }
4038
)
4139

4240
if (childFragmentManager.findFragmentById(R.id.settings_container) == null) {
@@ -121,7 +119,7 @@ class SettingsFragment : Fragment(R.layout.fragment_setting) {
121119
}
122120
true
123121
}
124-
findPreference<SimpleMenuPreference>("map_type")?.setOnPreferenceChangeListener { _, newValue ->
122+
findPreference<SimpleMenuPreference>("map_type")?.setOnPreferenceChangeListener { _, _ ->
125123
activity?.recreate()
126124
true
127125
}

app/src/main/java/com/android1500/gpssetter/utils/ext/Ext+Fragment.kt

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.android1500.gpssetter.utils.ext
22

3+
import android.os.Bundle
34
import android.view.Menu
45
import android.view.MenuInflater
56
import android.view.MenuItem
@@ -9,9 +10,15 @@ import androidx.annotation.MenuRes
910
import androidx.appcompat.widget.Toolbar
1011
import androidx.core.view.MenuProvider
1112
import androidx.fragment.app.Fragment
13+
import androidx.navigation.ActivityNavigator
14+
import androidx.navigation.NavOptions
15+
import androidx.navigation.fragment.FragmentNavigator
1216
import androidx.navigation.fragment.NavHostFragment
1317

14-
val Fragment.navController get() = NavHostFragment.findNavController(this)
18+
val Fragment.navController
19+
get() = NavHostFragment.findNavController(this)
20+
21+
1522

1623
fun Fragment.setupToolbar (
1724
toolbar: Toolbar,

app/src/main/java/com/android1500/gpssetter/utils/ext/Ext+LatLng.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import kotlinx.coroutines.channels.awaitClose
1010
import kotlinx.coroutines.flow.callbackFlow
1111
import java.util.*
1212

13-
suspend fun LatLng.getAddress(context: Context) = callbackFlow<String> {
13+
suspend fun LatLng.getAddress(context: Context) = callbackFlow {
1414
withContext(Dispatchers.IO){
1515
val addresses =
1616
Geocoder(context, Locale.getDefault()).getFromLocation(latitude, longitude, 1)

app/src/main/java/com/android1500/gpssetter/xposed/XposedHook.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import android.location.LocationManager
88
import android.os.Build
99
import androidx.annotation.RequiresApi
1010
import com.android1500.gpssetter.BuildConfig
11+
import com.android1500.gpssetter.gsApp
1112
import de.robv.android.xposed.*
1213
import de.robv.android.xposed.callbacks.XC_LoadPackage
1314
import kotlinx.coroutines.Dispatchers
@@ -91,7 +92,7 @@ class XposedHook : IXposedHookLoadPackage {
9192
location.speedAccuracyMetersPerSecond = 0F
9293
location.accuracy = accuracy
9394
param.result = location
94-
GlobalScope.launch(Dispatchers.IO) {
95+
gsApp.globalScope.launch(Dispatchers.IO){
9596
XposedHelpers.callMethod(ILocationListener,"onLocationChanged",location)
9697
XposedBridge.log("Inside --> ILocationListener")
9798
}
@@ -221,7 +222,6 @@ class XposedHook : IXposedHookLoadPackage {
221222
newlng = if (settings.isRandomPosition) settings.getLng + (dlng * 180.0 / pi) else settings.getLng
222223
accuracy = settings.accuracy!!.toFloat()
223224

224-
225225
}catch (e: Exception) {
226226
Timber.tag("GPS Setter").e(e, "Failed to get XposedSettings for %s", context.packageName)
227227
}

app/src/main/res/layout/fav_items.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
android:layout_height="wrap_content"
2828
android:src="@drawable/ic_delete"
2929
android:layout_marginEnd="@dimen/padding_16"
30-
android:contentDescription="@string/delete_fav"
30+
android:contentDescription="@string/delete_favourite_item"
3131
android:background="?attr/selectableItemBackgroundBorderless"
3232
android:clickable="true"/>
3333

app/src/main/res/layout/fragment_maps.xml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
33
android:layout_width="match_parent"
44
android:layout_height="match_parent"
5+
android:id="@+id/mapo"
56
android:fitsSystemWindows="true">
67

78
<com.google.android.material.appbar.AppBarLayout
@@ -32,8 +33,7 @@
3233
android:layout_gravity="bottom|start"
3334
android:layout_marginStart="@dimen/padding_16"
3435
android:layout_marginBottom="32dp"
35-
android:src="@drawable/ic_play"
36-
android:contentDescription="@string/spoof_location" />
36+
android:src="@drawable/ic_play" />
3737

3838
<com.google.android.material.floatingactionbutton.FloatingActionButton
3939
android:id="@+id/stop"
@@ -44,8 +44,7 @@
4444
android:layout_marginStart="@dimen/padding_16"
4545
android:layout_marginBottom="32dp"
4646
android:src="@drawable/ic_stop"
47-
android:visibility="gone"
48-
android:contentDescription="@string/spoof_location_stop" />
47+
android:visibility="gone" />
4948

5049

5150

app/src/main/res/menu/main_menu.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
<item
1818
android:id="@+id/get_favourite"
19-
android:title="@string/favourite"
19+
android:title="@string/favourites"
2020
app:showAsAction="never"/>
2121

2222
<item

0 commit comments

Comments
 (0)