This commit is contained in:
lunaticbum 2024-09-12 15:11:13 +09:00
parent 3a5f60f17d
commit 73dae873e8
4 changed files with 52 additions and 4 deletions

View File

@ -26,6 +26,13 @@
<uses-permission android:name="android.permission.RECEIVE_MMS" /> <uses-permission android:name="android.permission.RECEIVE_MMS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!-- Always include this permission -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<!-- Include only if your app benefits from precise location access. -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission <uses-permission
android:name="android.permission.QUERY_ALL_PACKAGES" android:name="android.permission.QUERY_ALL_PACKAGES"
tools:ignore="QueryAllPackagesPermission" /> tools:ignore="QueryAllPackagesPermission" />

View File

@ -115,6 +115,7 @@ import rasel.lunar.launcher.workers.DCGetter
import rasel.lunar.launcher.workers.DotaxGetter import rasel.lunar.launcher.workers.DotaxGetter
import rasel.lunar.launcher.workers.FmKoreaGetter import rasel.lunar.launcher.workers.FmKoreaGetter
import rasel.lunar.launcher.workers.NewsFeedsGetter import rasel.lunar.launcher.workers.NewsFeedsGetter
import rasel.lunar.launcher.workers.OpenWeatherGetter
import rasel.lunar.launcher.workers.RecentCallGetter import rasel.lunar.launcher.workers.RecentCallGetter
import rasel.lunar.launcher.workers.RecentSmsGetter import rasel.lunar.launcher.workers.RecentSmsGetter
import rasel.lunar.launcher.workers.RedditGetter import rasel.lunar.launcher.workers.RedditGetter
@ -292,6 +293,15 @@ internal class LauncherActivity : AppCompatActivity() {
.build()) .build())
}, delay, TimeUnit.SECONDS) }, delay, TimeUnit.SECONDS)
Executors.newSingleThreadScheduledExecutor().schedule({
mWorkManager?.cancelAllWorkByTag(OpenWeatherGetter.TAG)
mWorkManager?.enqueueUniquePeriodicWork(
OpenWeatherGetter.TAG, ExistingPeriodicWorkPolicy.CANCEL_AND_REENQUEUE,
PeriodicWorkRequestBuilder<OpenWeatherGetter>(midTimePeriod, TimeUnit.MINUTES)
.addTag(OpenWeatherGetter.TAG)
.build())
}, 3, TimeUnit.SECONDS)
} }
fun workmanager() : WorkManager? { fun workmanager() : WorkManager? {
@ -409,7 +419,9 @@ internal class LauncherActivity : AppCompatActivity() {
this.checkSelfPermission(Manifest.permission.RECEIVE_MMS) != PackageManager.PERMISSION_GRANTED || this.checkSelfPermission(Manifest.permission.RECEIVE_MMS) != PackageManager.PERMISSION_GRANTED ||
this.checkSelfPermission(Manifest.permission.RECEIVE_SMS) != PackageManager.PERMISSION_GRANTED || this.checkSelfPermission(Manifest.permission.RECEIVE_SMS) != PackageManager.PERMISSION_GRANTED ||
this.checkSelfPermission(Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED || this.checkSelfPermission(Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED ||
this.checkSelfPermission(Manifest.permission.READ_SMS) != PackageManager.PERMISSION_GRANTED this.checkSelfPermission(Manifest.permission.READ_SMS) != PackageManager.PERMISSION_GRANTED ||
this.checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED ||
this.checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED
) { ) {
true true
} else false } else false
@ -446,7 +458,9 @@ internal class LauncherActivity : AppCompatActivity() {
this.checkSelfPermission(Manifest.permission.RECEIVE_MMS) != PackageManager.PERMISSION_GRANTED || this.checkSelfPermission(Manifest.permission.RECEIVE_MMS) != PackageManager.PERMISSION_GRANTED ||
this.checkSelfPermission(Manifest.permission.RECEIVE_SMS) != PackageManager.PERMISSION_GRANTED || this.checkSelfPermission(Manifest.permission.RECEIVE_SMS) != PackageManager.PERMISSION_GRANTED ||
this.checkSelfPermission(Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED || this.checkSelfPermission(Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED ||
this.checkSelfPermission(Manifest.permission.READ_SMS) != PackageManager.PERMISSION_GRANTED this.checkSelfPermission(Manifest.permission.READ_SMS) != PackageManager.PERMISSION_GRANTED ||
this.checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED ||
this.checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED
) { ) {
this.requestPermissions(arrayOf( this.requestPermissions(arrayOf(
Manifest.permission.READ_CONTACTS, Manifest.permission.READ_CONTACTS,
@ -456,6 +470,8 @@ internal class LauncherActivity : AppCompatActivity() {
Manifest.permission.READ_PHONE_STATE, Manifest.permission.READ_PHONE_STATE,
Manifest.permission.RECEIVE_MMS, Manifest.permission.RECEIVE_MMS,
Manifest.permission.RECEIVE_SMS, Manifest.permission.RECEIVE_SMS,
Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.CALL_PHONE, Manifest.permission.CALL_PHONE,
Manifest.permission.READ_SMS), 1) Manifest.permission.READ_SMS), 1)
} }

View File

@ -505,10 +505,8 @@ internal class LauncherHome : Fragment() {
binding.recentSms.setOnClickListener(checkListner) binding.recentSms.setOnClickListener(checkListner)
binding.missedCalls.setOnClickListener(checkListner) binding.missedCalls.setOnClickListener(checkListner)
binding.notice.setOnClickListener(checkListner) binding.notice.setOnClickListener(checkListner)
binding.otherCheck.setOnLongClickListener { binding.otherCheck.setOnLongClickListener {
queryInfos() queryInfos()
refreshFeeds()
true true
} }

View File

@ -0,0 +1,27 @@
package rasel.lunar.launcher.workers
import android.content.Context
import androidx.work.WorkerParameters
import rasel.lunar.launcher.utils.BLog
class OpenWeatherGetter : BaseGetter {
companion object {
val TAG = "OpenWeatherGetter"
}
constructor(context: Context, workerParams: WorkerParameters) : super(context, workerParams)
override fun realWork(): Result {
BLog.LOGE("${TAG} realWork() ")
//위치 정보 {위 경도 가져오자}
//87cd0810b7e4b4debd31a6ef98b98154
//{https://home.openweathermap.org/api 에서 정보를 조회 하자}
// 정형화된 정보를 취드하여 realm db에 저장 하자
return Result.success()
}
}