Skip to content

Commit 1616736

Browse files
committed
v180.2.1
- Fixed crashes caused by view binding - Removed view binding support
1 parent e6a8379 commit 1616736

File tree

3 files changed

+53
-37
lines changed

3 files changed

+53
-37
lines changed

app/build.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ android {
118118
buildFeatures {
119119
aidl true
120120
buildConfig true
121-
viewBinding true
121+
viewBinding false
122122
}
123123

124124
applicationVariants.configureEach { variant ->
@@ -141,15 +141,15 @@ dependencies {
141141
implementation 'androidx.core:core-ktx:1.12.0'
142142
implementation 'androidx.fragment:fragment-ktx:1.6.2'
143143
implementation 'androidx.dynamicanimation:dynamicanimation:1.0.0'
144-
implementation 'androidx.webkit:webkit:1.9.0'
144+
implementation 'androidx.webkit:webkit:1.10.0'
145145
implementation 'androidx.recyclerview:recyclerview:1.3.2'
146146
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.7.0'
147147

148148
// Kotlin
149149
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3'
150150

151151
// Google Services and Default android libs
152-
implementation 'com.google.android.gms:play-services-location:21.0.1'
152+
implementation 'com.google.android.gms:play-services-location:21.1.0'
153153
implementation 'com.google.android.play:core-ktx:1.8.1'
154154
implementation 'com.google.android.gms:play-services-maps:18.2.0'
155155
implementation 'com.google.android.material:material:1.11.0'

app/src/main/java/app/simple/positional/activities/subactivity/MapSearchActivity.kt

Lines changed: 49 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,12 @@ import android.os.Build
55
import android.os.Bundle
66
import android.util.Log
77
import android.widget.ArrayAdapter
8+
import android.widget.AutoCompleteTextView
9+
import android.widget.TextView
810
import androidx.core.widget.doOnTextChanged
9-
import app.simple.positional.databinding.ActivityMapSearchBinding
11+
import app.simple.positional.R
12+
import app.simple.positional.decorations.ripple.DynamicRippleImageButton
13+
import app.simple.positional.decorations.views.SearchMap
1014
import app.simple.positional.extensions.activity.BaseActivity
1115
import app.simple.positional.math.MathExtensions
1216
import kotlinx.coroutines.CoroutineScope
@@ -17,26 +21,38 @@ import kotlin.coroutines.cancellation.CancellationException
1721

1822
class MapSearchActivity : BaseActivity() {
1923

20-
private lateinit var binding: ActivityMapSearchBinding
24+
private lateinit var map: SearchMap
25+
private lateinit var latitude: TextView
26+
private lateinit var longitude: TextView
27+
private lateinit var address: AutoCompleteTextView
28+
private lateinit var confirm: DynamicRippleImageButton
29+
private lateinit var cancel: DynamicRippleImageButton
30+
2131
private var job: Job? = null
2232

2333
override fun onCreate(savedInstanceState: Bundle?) {
2434
super.onCreate(savedInstanceState)
25-
binding = ActivityMapSearchBinding.inflate(layoutInflater)
26-
setContentView(binding.root)
35+
setContentView(R.layout.activity_map_search)
36+
37+
map = findViewById(R.id.map)
38+
latitude = findViewById(R.id.latitude)
39+
longitude = findViewById(R.id.longitude)
40+
address = findViewById(R.id.address)
41+
confirm = findViewById(R.id.confirm)
42+
cancel = findViewById(R.id.cancel)
2743

28-
binding.map.onCreate(savedInstanceState)
44+
map.onCreate(savedInstanceState)
2945

30-
binding.latitude.setText(MathExtensions.round(binding.map.lastLatitude, 6).toString())
31-
binding.longitude.setText(MathExtensions.round(binding.map.lastLongitude, 6).toString())
32-
binding.address.threshold = 3
46+
latitude.text = MathExtensions.round(map.lastLatitude, 6).toString()
47+
longitude.text = MathExtensions.round(map.lastLongitude, 6).toString()
48+
address.threshold = 3
3349

34-
binding.map.callbacks = {
35-
binding.latitude.setText(MathExtensions.round(it.latitude, 6).toString())
36-
binding.longitude.setText(MathExtensions.round(it.longitude, 6).toString())
50+
map.callbacks = {
51+
latitude.text = MathExtensions.round(it.latitude, 6).toString()
52+
longitude.text = MathExtensions.round(it.longitude, 6).toString()
3753
}
3854

39-
binding.address.doOnTextChanged { text, _, _, _ ->
55+
address.doOnTextChanged { text, _, _, _ ->
4056
try {
4157
job?.cancel(CancellationException("New search"))
4258
} catch (_: IllegalStateException) {
@@ -48,15 +64,15 @@ class MapSearchActivity : BaseActivity() {
4864
runOnUiThread {
4965
try {
5066
ArrayAdapter(applicationContext, android.R.layout.simple_dropdown_item_1line, addresses.map { it.getAddressLine(0) }).also {
51-
binding.address.setAdapter(it)
52-
(binding.address.adapter as ArrayAdapter<*>).setNotifyOnChange(true)
53-
(binding.address.adapter as ArrayAdapter<*>).notifyDataSetChanged()
54-
binding.address.showDropDown()
67+
address.setAdapter(it)
68+
(address.adapter as ArrayAdapter<*>).setNotifyOnChange(true)
69+
(address.adapter as ArrayAdapter<*>).notifyDataSetChanged()
70+
address.showDropDown()
5571

56-
binding.address.setOnItemClickListener { _, _, position, _ ->
57-
binding.latitude.setText(MathExtensions.round(addresses[position].latitude, 6).toString())
58-
binding.longitude.setText(MathExtensions.round(addresses[position].longitude, 6).toString())
59-
binding.map.moveCamera(addresses[position].latitude, addresses[position].longitude)
72+
address.setOnItemClickListener { _, _, position, _ ->
73+
latitude.text = MathExtensions.round(addresses[position].latitude, 6).toString()
74+
longitude.text = MathExtensions.round(addresses[position].longitude, 6).toString()
75+
map.moveCamera(addresses[position].latitude, addresses[position].longitude)
6076
}
6177
}
6278
} catch (e: IllegalStateException) {
@@ -71,15 +87,15 @@ class MapSearchActivity : BaseActivity() {
7187
launch(Dispatchers.Main) {
7288
try {
7389
ArrayAdapter(applicationContext, android.R.layout.simple_dropdown_item_1line, addresses.map { it.getAddressLine(0) }).also {
74-
binding.address.setAdapter(it)
75-
(binding.address.adapter as ArrayAdapter<*>).setNotifyOnChange(true)
76-
(binding.address.adapter as ArrayAdapter<*>).notifyDataSetChanged()
77-
binding.address.showDropDown()
90+
address.setAdapter(it)
91+
(address.adapter as ArrayAdapter<*>).setNotifyOnChange(true)
92+
(address.adapter as ArrayAdapter<*>).notifyDataSetChanged()
93+
address.showDropDown()
7894

79-
binding.address.setOnItemClickListener { _, _, position, _ ->
80-
binding.latitude.setText(MathExtensions.round(addresses[position].latitude, 6).toString())
81-
binding.longitude.setText(MathExtensions.round(addresses[position].longitude, 6).toString())
82-
binding.map.moveCamera(addresses[position].latitude, addresses[position].longitude)
95+
address.setOnItemClickListener { _, _, position, _ ->
96+
latitude.text = MathExtensions.round(addresses[position].latitude, 6).toString()
97+
longitude.text = MathExtensions.round(addresses[position].longitude, 6).toString()
98+
map.moveCamera(addresses[position].latitude, addresses[position].longitude)
8399
}
84100
}
85101
} catch (e: IllegalStateException) {
@@ -92,16 +108,16 @@ class MapSearchActivity : BaseActivity() {
92108
}
93109
}
94110

95-
binding.confirm.setOnClickListener {
111+
confirm.setOnClickListener {
96112
setResult(RESULT_OK, intent.apply {
97-
putExtra("latitude", binding.latitude.text.toString().toDouble())
98-
putExtra("longitude", binding.longitude.text.toString().toDouble())
99-
putExtra("address", binding.address.text.toString())
113+
putExtra("latitude", latitude.text.toString().toDouble())
114+
putExtra("longitude", longitude.text.toString().toDouble())
115+
putExtra("address", address.text.toString())
100116
})
101117
finish()
102118
}
103119

104-
binding.cancel.setOnClickListener {
120+
cancel.setOnClickListener {
105121
setResult(RESULT_CANCELED)
106122
finish()
107123
}

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ buildscript {
77
}
88

99
dependencies {
10-
classpath 'com.android.tools.build:gradle:8.2.1'
10+
classpath 'com.android.tools.build:gradle:8.2.2'
1111
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.0"
1212
classpath 'com.google.gms:google-services:4.4.0'
1313

0 commit comments

Comments
 (0)