....
This commit is contained in:
parent
d6f550d4fe
commit
36b18d63fb
@ -308,7 +308,7 @@ internal class LauncherActivity : AppCompatActivity() {
|
|||||||
mWorkManager?.cancelAllWorkByTag(LocationGetter.TAG)
|
mWorkManager?.cancelAllWorkByTag(LocationGetter.TAG)
|
||||||
mWorkManager?.enqueueUniquePeriodicWork(
|
mWorkManager?.enqueueUniquePeriodicWork(
|
||||||
LocationGetter.TAG, ExistingPeriodicWorkPolicy.CANCEL_AND_REENQUEUE,
|
LocationGetter.TAG, ExistingPeriodicWorkPolicy.CANCEL_AND_REENQUEUE,
|
||||||
PeriodicWorkRequestBuilder<LocationGetter>(PrefHelper.shortTimePeriod, TimeUnit.MINUTES)
|
PeriodicWorkRequestBuilder<LocationGetter>(PrefHelper.longTimePeriod, TimeUnit.MINUTES)
|
||||||
.addTag(LocationGetter.TAG)
|
.addTag(LocationGetter.TAG)
|
||||||
.build())
|
.build())
|
||||||
}, weatherDelay, TimeUnit.SECONDS)
|
}, weatherDelay, TimeUnit.SECONDS)
|
||||||
|
|||||||
@ -92,6 +92,8 @@ import bums.lunatic.launcher.workers.LocationGetter
|
|||||||
import bums.lunatic.launcher.workers.RecentCall
|
import bums.lunatic.launcher.workers.RecentCall
|
||||||
import bums.lunatic.launcher.workers.RecentSms
|
import bums.lunatic.launcher.workers.RecentSms
|
||||||
import bums.lunatic.launcher.workers.WorkersDb
|
import bums.lunatic.launcher.workers.WorkersDb
|
||||||
|
import bums.lunatic.launcher.workers.latitudeRange
|
||||||
|
import bums.lunatic.launcher.workers.longitudeRange
|
||||||
import io.realm.kotlin.ext.query
|
import io.realm.kotlin.ext.query
|
||||||
import io.realm.kotlin.notifications.InitialResults
|
import io.realm.kotlin.notifications.InitialResults
|
||||||
import io.realm.kotlin.notifications.ResultsChange
|
import io.realm.kotlin.notifications.ResultsChange
|
||||||
@ -105,6 +107,7 @@ import kotlinx.coroutines.launch
|
|||||||
import org.json.JSONArray
|
import org.json.JSONArray
|
||||||
import org.json.JSONObject
|
import org.json.JSONObject
|
||||||
import java.math.BigDecimal
|
import java.math.BigDecimal
|
||||||
|
import java.math.RoundingMode
|
||||||
import java.net.URLEncoder
|
import java.net.URLEncoder
|
||||||
import java.util.Calendar
|
import java.util.Calendar
|
||||||
import java.util.Date
|
import java.util.Date
|
||||||
@ -351,12 +354,15 @@ internal class LauncherHome : Fragment() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@SuppressLint("NotifyDataSetChanged")
|
@SuppressLint("NotifyDataSetChanged")
|
||||||
suspend fun queryWeatherWithLoc(){
|
fun queryWeatherWithLoc(){
|
||||||
WorkersDb.getRealm().apply {
|
WorkersDb.getRealm().apply {
|
||||||
|
var latR = latitudeRange(BigDecimal.valueOf(LocationGetter.latitude).setScale(6,RoundingMode.HALF_UP).toDouble(), 200)
|
||||||
|
var lonR = longitudeRange(BigDecimal.valueOf(LocationGetter.latitude).setScale(6,RoundingMode.HALF_UP).toDouble(),BigDecimal.valueOf(LocationGetter.longitude).setScale(6,RoundingMode.HALF_UP).toDouble(), 200)
|
||||||
query<Hour>()
|
query<Hour>()
|
||||||
.query("lat == $0 AND lon == $1",
|
.query("lat >= $0 AND lat <= $1 AND lon >= $2 AND lon <= $3 AND time_epoch >= $4",
|
||||||
LocationGetter.latitude?.let { BigDecimal.valueOf(it).toDouble() },
|
latR.first(),latR.last(),
|
||||||
LocationGetter.longitude?.let { BigDecimal.valueOf(it).toDouble() }
|
lonR.first(),lonR.last(),
|
||||||
|
(System.currentTimeMillis() / 1000L).toLong()
|
||||||
).also {
|
).also {
|
||||||
BLog.LOGE("re >>> ${it.description()}")
|
BLog.LOGE("re >>> ${it.description()}")
|
||||||
}.find().let {hours ->
|
}.find().let {hours ->
|
||||||
|
|||||||
@ -39,7 +39,7 @@ object RssFeedsParser {
|
|||||||
it.data?.nsfw = nsfw
|
it.data?.nsfw = nsfw
|
||||||
if(((it.data?.created_utc ?: 0).toLong() * 1000L > dateTime)) {
|
if(((it.data?.created_utc ?: 0).toLong() * 1000L > dateTime)) {
|
||||||
(it.data as? RssDataInterface)?.let { rss ->
|
(it.data as? RssDataInterface)?.let { rss ->
|
||||||
if (rss.title().contains("request") == false) {
|
if (rss.title().contains("request", true) == false) {
|
||||||
returnList.add(rss)
|
returnList.add(rss)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -17,8 +17,8 @@ import kotlin.math.cos
|
|||||||
class LocationGetter(context: Context, workerParams: WorkerParameters) : BaseGetter(context, workerParams) {
|
class LocationGetter(context: Context, workerParams: WorkerParameters) : BaseGetter(context, workerParams) {
|
||||||
companion object {
|
companion object {
|
||||||
val TAG = "LocationGetter"
|
val TAG = "LocationGetter"
|
||||||
var longitude: Double? = null
|
var longitude: Double = 0.0
|
||||||
var latitude: Double? = null
|
var latitude: Double = 0.0
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressLint("MissingPermission")
|
@SuppressLint("MissingPermission")
|
||||||
|
|||||||
@ -13,11 +13,14 @@ import android.os.Build
|
|||||||
import android.os.IBinder
|
import android.os.IBinder
|
||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
import androidx.core.app.ActivityCompat
|
import androidx.core.app.ActivityCompat
|
||||||
|
import bums.lunatic.launcher.LauncherActivity.Companion.runWeatherGetter
|
||||||
import bums.lunatic.launcher.helpers.PrefHelper
|
import bums.lunatic.launcher.helpers.PrefHelper
|
||||||
import bums.lunatic.launcher.helpers.PrefString
|
import bums.lunatic.launcher.helpers.PrefString
|
||||||
import bums.lunatic.launcher.helpers.letTrue
|
import bums.lunatic.launcher.helpers.letTrue
|
||||||
import bums.lunatic.launcher.model.LocationLog
|
import bums.lunatic.launcher.model.LocationLog
|
||||||
import bums.lunatic.launcher.utils.BLog
|
import bums.lunatic.launcher.utils.BLog
|
||||||
|
import bums.lunatic.launcher.workers.LocationGetter.Companion.latitude
|
||||||
|
import bums.lunatic.launcher.workers.LocationGetter.Companion.longitude
|
||||||
import com.google.android.gms.location.LocationServices
|
import com.google.android.gms.location.LocationServices
|
||||||
import com.google.gson.Gson
|
import com.google.gson.Gson
|
||||||
import io.realm.kotlin.ext.query
|
import io.realm.kotlin.ext.query
|
||||||
@ -121,6 +124,9 @@ class LocationUpdateService : Service(), LocationListener {
|
|||||||
override fun onLocationChanged(p0: Location) {
|
override fun onLocationChanged(p0: Location) {
|
||||||
BLog.LOGE("p0")
|
BLog.LOGE("p0")
|
||||||
PrefHelper.isLocationOn().letTrue {
|
PrefHelper.isLocationOn().letTrue {
|
||||||
|
longitude = p0.longitude
|
||||||
|
latitude = p0.latitude
|
||||||
|
runWeatherGetter()
|
||||||
pushLocation(this.applicationContext, p0.latitude,p0.longitude)
|
pushLocation(this.applicationContext, p0.latitude,p0.longitude)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -160,6 +166,9 @@ class LocationUpdateService : Service(), LocationListener {
|
|||||||
java.lang.Double.toString(location.latitude) + location.longitude + "from method",
|
java.lang.Double.toString(location.latitude) + location.longitude + "from method",
|
||||||
Toast.LENGTH_LONG
|
Toast.LENGTH_LONG
|
||||||
).show()
|
).show()
|
||||||
|
longitude = location.longitude
|
||||||
|
latitude = location.latitude
|
||||||
|
runWeatherGetter()
|
||||||
pushLocation(this.applicationContext, location.latitude, location.longitude)
|
pushLocation(this.applicationContext, location.latitude, location.longitude)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user