...
This commit is contained in:
parent
8c826272ae
commit
2599d6459e
@ -95,6 +95,9 @@ dependencies {
|
||||
implementation("com.squareup.retrofit2:retrofit:2.9.0")
|
||||
implementation("com.squareup.retrofit2:converter-gson:2.6.4")
|
||||
implementation("com.squareup.retrofit2:converter-scalars:2.6.4")
|
||||
|
||||
implementation ("me.everything:providers-android:1.0.1")
|
||||
implementation ("me.everything:providers-core:1.0.1")
|
||||
// implementation ("androidx.window:window:1.0.0")
|
||||
// implementation("io.github.vaneproject:hanguleditor:1.0.0")
|
||||
}
|
||||
|
||||
@ -26,7 +26,8 @@
|
||||
<uses-permission android:name="android.permission.RECEIVE_MMS" />
|
||||
|
||||
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
||||
|
||||
<uses-permission android:name="android.permission.READ_CALENDAR" />
|
||||
<uses-permission android:name="android.permission.WRITE_CALENDAR" />
|
||||
<!-- Always include this permission -->
|
||||
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
|
||||
|
||||
|
||||
@ -108,6 +108,7 @@ import rasel.lunar.launcher.utils.beforeDay
|
||||
import rasel.lunar.launcher.utils.make0H
|
||||
import rasel.lunar.launcher.workers.AppInfoGetter
|
||||
import rasel.lunar.launcher.workers.ArcaGetter
|
||||
import rasel.lunar.launcher.workers.CalendarGetter
|
||||
import rasel.lunar.launcher.workers.ClienGetter
|
||||
import rasel.lunar.launcher.workers.ContactInfoGetter
|
||||
import rasel.lunar.launcher.workers.DCGetter
|
||||
@ -210,6 +211,12 @@ internal class LauncherActivity : AppCompatActivity() {
|
||||
}, 5, TimeUnit.SECONDS)
|
||||
}
|
||||
|
||||
fun getCal() {
|
||||
Executors.newSingleThreadScheduledExecutor().schedule({
|
||||
mWorkManager?.enqueue(OneTimeWorkRequest.from(CalendarGetter::class.java))
|
||||
}, 5, TimeUnit.SECONDS)
|
||||
}
|
||||
|
||||
fun refreshFeeds() {
|
||||
var delay = 5L
|
||||
Executors.newSingleThreadScheduledExecutor().schedule({
|
||||
@ -435,6 +442,8 @@ internal class LauncherActivity : AppCompatActivity() {
|
||||
private fun welcomeDialog() {
|
||||
|
||||
var needAsk = if (
|
||||
this.checkSelfPermission(Manifest.permission.READ_CALENDAR) != PackageManager.PERMISSION_GRANTED ||
|
||||
this.checkSelfPermission(Manifest.permission.WRITE_CALENDAR) != PackageManager.PERMISSION_GRANTED ||
|
||||
this.checkSelfPermission(Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED ||
|
||||
this.checkSelfPermission(Manifest.permission.READ_CALL_LOG) != PackageManager.PERMISSION_GRANTED ||
|
||||
this.checkSelfPermission(Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED ||
|
||||
@ -473,6 +482,8 @@ internal class LauncherActivity : AppCompatActivity() {
|
||||
/* phone permission */
|
||||
|
||||
if (
|
||||
this.checkSelfPermission(Manifest.permission.READ_CALENDAR) != PackageManager.PERMISSION_GRANTED ||
|
||||
this.checkSelfPermission(Manifest.permission.WRITE_CALENDAR) != PackageManager.PERMISSION_GRANTED ||
|
||||
this.checkSelfPermission(Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED ||
|
||||
this.checkSelfPermission(Manifest.permission.READ_CALL_LOG) != PackageManager.PERMISSION_GRANTED ||
|
||||
this.checkSelfPermission(Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED ||
|
||||
@ -484,6 +495,8 @@ internal class LauncherActivity : AppCompatActivity() {
|
||||
this.checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED
|
||||
) {
|
||||
this.requestPermissions(arrayOf(
|
||||
Manifest.permission.READ_CALENDAR,
|
||||
Manifest.permission.WRITE_CALENDAR,
|
||||
Manifest.permission.READ_CONTACTS,
|
||||
Manifest.permission.READ_CALL_LOG,
|
||||
Manifest.permission.CALL_PHONE,
|
||||
|
||||
@ -58,6 +58,7 @@ import org.jsoup.Jsoup
|
||||
import rasel.lunar.launcher.CommadCallabck
|
||||
import rasel.lunar.launcher.LauncherActivity.Companion.appWidgetHost
|
||||
import rasel.lunar.launcher.LauncherActivity.Companion.appWidgetManager
|
||||
import rasel.lunar.launcher.LauncherActivity.Companion.getCal
|
||||
import rasel.lunar.launcher.LauncherActivity.Companion.lActivity
|
||||
import rasel.lunar.launcher.LauncherActivity.Companion.refreshDeviceData
|
||||
import rasel.lunar.launcher.LauncherActivity.Companion.refreshFeeds
|
||||
@ -282,6 +283,9 @@ internal class Feeds : Fragment() , CommadCallabck {
|
||||
binding.expandRss.isChecked = false
|
||||
} else {
|
||||
when (input.text.toString()) {
|
||||
"cal" ->{
|
||||
getCal()
|
||||
}
|
||||
"so" -> GlobalScope.launch {
|
||||
"https://kr69.sogirl.so".getJ().let { doc ->
|
||||
// BLog.LOGE("ogirl >>> ${doc.title()}")
|
||||
|
||||
@ -178,11 +178,11 @@ internal class LauncherHome : Fragment() {
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
home = this
|
||||
BLog.LOGE("${this} ::::: onCreate >>>> ")
|
||||
// BLog.LOGE("${this} ::::: onCreate >>>> ")
|
||||
}
|
||||
var mWeatherResult : RealmResults<WeatherForcast>? = null
|
||||
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
|
||||
BLog.LOGE("${this} ::::: onCreateView >>>> ")
|
||||
// BLog.LOGE("${this} ::::: onCreateView >>>> ")
|
||||
binding = LauncherHomeBinding.inflate(inflater, container, false)
|
||||
fragManager = lActivity!!.supportFragmentManager
|
||||
settingsPrefs = requireContext().getSharedPreferences(PREFS_SETTINGS, 0)
|
||||
@ -397,7 +397,7 @@ internal class LauncherHome : Fragment() {
|
||||
private fun queryNotice() {
|
||||
var mWorkManager = WorkManager.getInstance(requireContext())
|
||||
Executors.newSingleThreadScheduledExecutor().schedule({
|
||||
mWorkManager.enqueue(OneTimeWorkRequest.from(TelegramBotGetter::class.java))
|
||||
// mWorkManager.enqueue(OneTimeWorkRequest.from(TelegramBotGetter::class.java))
|
||||
}, 5, TimeUnit.SECONDS)
|
||||
try { noticeJob?.cancel() } catch (e:Exception) {e.printStackTrace()}
|
||||
mNotificationResult = null
|
||||
@ -483,7 +483,7 @@ internal class LauncherHome : Fragment() {
|
||||
}}
|
||||
var rQ = WorkersDb.getRealm().query<RssData>().query("pubDate > $0", beforeDay(Date(),3))
|
||||
if(keyword.length > 0) {
|
||||
BLog.LOGE("queryInfos it >>> ${keyword}")
|
||||
// BLog.LOGE("queryInfos it >>> ${keyword}")
|
||||
if (JamoUtils.CHOSUNG.contains(keyword.split("")[0])) {
|
||||
rQ = rQ.query(
|
||||
"title CONTAINS $0 OR chosung CONTAINS $1 ",
|
||||
@ -580,7 +580,7 @@ internal class LauncherHome : Fragment() {
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
|
||||
BLog.LOGE("${this} ::::: onViewCreated >>>> ")
|
||||
// BLog.LOGE("${this} ::::: onViewCreated >>>> ")
|
||||
|
||||
rootViewGestures()
|
||||
batteryProgressGestures()
|
||||
@ -804,7 +804,7 @@ internal class LauncherHome : Fragment() {
|
||||
}
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
BLog.LOGE("${this} ::::: onResume >>>> ")
|
||||
// BLog.LOGE("${this} ::::: onResume >>>> ")
|
||||
if (shouldResume) {
|
||||
|
||||
/* register battery changes */
|
||||
|
||||
@ -117,17 +117,17 @@ internal class SettingsActivity : AppCompatActivity() {
|
||||
/* source code at github */
|
||||
aboutBinding.sourceCode.setOnClickListener {
|
||||
bottomSheetDialog.dismiss()
|
||||
startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(sourceCode)))
|
||||
// startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(sourceCode)))
|
||||
}
|
||||
/* wiki at github */
|
||||
aboutBinding.wiki.setOnClickListener {
|
||||
bottomSheetDialog.dismiss()
|
||||
startActivity(Intent(Intent.ACTION_VIEW, Uri.parse("$sourceCode/wiki")))
|
||||
// startActivity(Intent(Intent.ACTION_VIEW, Uri.parse("$sourceCode/wiki")))
|
||||
}
|
||||
/* telegram community */
|
||||
aboutBinding.telegramGroup.setOnClickListener {
|
||||
bottomSheetDialog.dismiss()
|
||||
startActivity(Intent(Intent.ACTION_VIEW, Uri.parse("https://t.me/LunarLauncher_chats")))
|
||||
// startActivity(Intent(Intent.ACTION_VIEW, Uri.parse("https://t.me/LunarLauncher_chats")))
|
||||
}
|
||||
}
|
||||
|
||||
@ -138,15 +138,15 @@ internal class SettingsActivity : AppCompatActivity() {
|
||||
.setMessage(R.string.support_message)
|
||||
/* star button */
|
||||
.setNeutralButton(R.string.star) { _, _ ->
|
||||
startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(sourceCode)))
|
||||
// startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(sourceCode)))
|
||||
}
|
||||
/* affiliate button */
|
||||
.setNegativeButton(R.string.amazon) { _, _ ->
|
||||
startActivity(Intent(Intent.ACTION_VIEW, Uri.parse("https://amzn.to/44krAw9")))
|
||||
// startActivity(Intent(Intent.ACTION_VIEW, Uri.parse("https://amzn.to/44krAw9")))
|
||||
}
|
||||
/* donate button */
|
||||
.setPositiveButton(R.string.donate) { _, _ ->
|
||||
startActivity(Intent(Intent.ACTION_VIEW, Uri.parse("https://iamrasel.github.io/donate")))
|
||||
// startActivity(Intent(Intent.ACTION_VIEW, Uri.parse("https://iamrasel.github.io/donate")))
|
||||
}
|
||||
.show()
|
||||
}
|
||||
|
||||
@ -0,0 +1,149 @@
|
||||
package rasel.lunar.launcher.workers
|
||||
|
||||
import android.content.Context
|
||||
import android.net.Uri
|
||||
import androidx.work.WorkerParameters
|
||||
import rasel.lunar.launcher.LauncherActivity.Companion.lActivity
|
||||
import rasel.lunar.launcher.utils.BLog
|
||||
|
||||
|
||||
class CalendarGetter : BaseGetter {
|
||||
companion object {
|
||||
val TAG = "DCGetter"
|
||||
}
|
||||
constructor(context: Context, workerParams: WorkerParameters) : super(context, workerParams) {
|
||||
|
||||
}
|
||||
override fun realWork(): Result {
|
||||
setCalendar()
|
||||
return Result.success().apply {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
fun setCalendar() {
|
||||
|
||||
|
||||
val calendars = Uri.parse("content://com.android.calendar/events")
|
||||
|
||||
val projection = arrayOf(
|
||||
"calendar_id",
|
||||
// "htmlUri",
|
||||
"title",
|
||||
// "eventLocation",
|
||||
"description",
|
||||
// "eventStatus",
|
||||
// "selfAttendeeStatus",
|
||||
// "commentsUri",
|
||||
"dtstart",
|
||||
"dtend",
|
||||
// "eventTimezone",
|
||||
// "duration",
|
||||
// "allDay",
|
||||
// "visibility",
|
||||
// "transparency",
|
||||
// "hasAlarm",
|
||||
// "hasExtendedProperties",
|
||||
// "rrule",
|
||||
"rdate",
|
||||
// "exrule",
|
||||
// "exdate",
|
||||
// "originalEvent",
|
||||
// "originalInstanceTime",
|
||||
// "originalAllDay",
|
||||
// "lastDate",
|
||||
// "hasAttendeeData",
|
||||
// "guestsCanModify",
|
||||
// "guestsCanInviteOthers",
|
||||
// "guestsCanSeeGuests",
|
||||
// "organizer",
|
||||
// "deleted"
|
||||
)
|
||||
// val managedCursor: Cursor =
|
||||
lActivity?.contentResolver?.query(calendars, projection, null, null, null)?.let { managedCursor ->
|
||||
if (managedCursor.moveToFirst()) {
|
||||
val calendar_id = IntArray(managedCursor.count)
|
||||
|
||||
// val htmlUri = arrayOfNulls<String>(managedCursor.count)
|
||||
val title = arrayOfNulls<String>(managedCursor.count)
|
||||
// val eventLocation = arrayOfNulls<String>(managedCursor.count)
|
||||
val description = arrayOfNulls<String>(managedCursor.count)
|
||||
// val eventStatus = IntArray(managedCursor.count)
|
||||
// val selfAttendeeStatus = IntArray(managedCursor.count)
|
||||
// val commentsUri = arrayOfNulls<String>(managedCursor.count)
|
||||
val dtstart = arrayOfNulls<String>(managedCursor.count)
|
||||
val dtend = arrayOfNulls<String>(managedCursor.count)
|
||||
// val eventTimezone = arrayOfNulls<String>(managedCursor.count)
|
||||
// val duration = arrayOfNulls<String>(managedCursor.count)
|
||||
// val allDay = IntArray(managedCursor.count)
|
||||
// val visibility = IntArray(managedCursor.count)
|
||||
// val transparency = IntArray(managedCursor.count)
|
||||
// val hasAlarm = IntArray(managedCursor.count)
|
||||
// val hasExtendedProperties = IntArray(managedCursor.count)
|
||||
// val rrule = arrayOfNulls<String>(managedCursor.count)
|
||||
val rdate = arrayOfNulls<String>(managedCursor.count)
|
||||
// val exrule = arrayOfNulls<String>(managedCursor.count)
|
||||
// val exdate = arrayOfNulls<String>(managedCursor.count)
|
||||
// val originalEvent = arrayOfNulls<String>(managedCursor.count)
|
||||
// val originalInstanceTime = IntArray(managedCursor.count)
|
||||
// val originalAllDay = IntArray(managedCursor.count)
|
||||
// val lastDate = IntArray(managedCursor.count)
|
||||
// val hasAttendeeData = IntArray(managedCursor.count)
|
||||
// val guestsCanModify = IntArray(managedCursor.count)
|
||||
// val guestsCanInviteOthers = IntArray(managedCursor.count)
|
||||
// val guestsCanSeeGuests = IntArray(managedCursor.count)
|
||||
// val organizer = arrayOfNulls<String>(managedCursor.count)
|
||||
// val deleted = IntArray(managedCursor.count)
|
||||
|
||||
for (i in title.indices) {
|
||||
calendar_id[i] = managedCursor.getInt(0)
|
||||
BLog.LOGE("Calendar ID : " + calendar_id[i])
|
||||
// htmlUri[i] = managedCursor.getString(1)
|
||||
// Log.i("Calendar", "htmlUri : " + htmlUri[i])
|
||||
title[i] = managedCursor.getString(1)
|
||||
BLog.LOGE("Calendar title : " + title[i])
|
||||
// eventLocation[i] = managedCursor.getString(3)
|
||||
// Log.i("Calendar", "eventLocation : " + eventLocation[i])
|
||||
description[i] = managedCursor.getString(2)
|
||||
// eventStatus[i] = managedCursor.getInt(5)
|
||||
// selfAttendeeStatus[i] = managedCursor.getInt(6)
|
||||
// commentsUri[i] = managedCursor.getString(7)
|
||||
dtstart[i] = managedCursor.getString(3)
|
||||
BLog.LOGE("Calendar dtstart : " + rdate[i])
|
||||
dtend[i] = managedCursor.getString(4)
|
||||
BLog.LOGE("Calendar dtend : " + rdate[i])
|
||||
// eventTimezone[i] = managedCursor.getString(10)
|
||||
// duration[i] = managedCursor.getString(11)
|
||||
// allDay[i] = managedCursor.getInt(12)
|
||||
// visibility[i] = managedCursor.getInt(13)
|
||||
// transparency[i] = managedCursor.getInt(14)
|
||||
// hasAlarm[i] = managedCursor.getInt(15)
|
||||
// hasExtendedProperties[i] = managedCursor.getInt(16)
|
||||
// rrule[i] = managedCursor.getString(17)
|
||||
rdate[i] = managedCursor.getString(5)
|
||||
BLog.LOGE("Calendar rdate : " + rdate[i])
|
||||
// exrule[i] = managedCursor.getString(19)
|
||||
// exdate[i] = managedCursor.getString(20)
|
||||
// originalEvent[i] = managedCursor.getString(21)
|
||||
// originalInstanceTime[i] = managedCursor.getInt(22)
|
||||
// originalAllDay[i] = managedCursor.getInt(23)
|
||||
// lastDate[i] = managedCursor.getInt(24)
|
||||
// hasAttendeeData[i] = managedCursor.getInt(25)
|
||||
// guestsCanModify[i] = managedCursor.getInt(26)
|
||||
// guestsCanInviteOthers[i] = managedCursor.getInt(27)
|
||||
// guestsCanSeeGuests[i] = managedCursor.getInt(28)
|
||||
// organizer[i] = managedCursor.getString(29)
|
||||
// deleted[i] = managedCursor.getInt(30)
|
||||
|
||||
if (title[i] != null) {
|
||||
BLog.LOGE("title[i] ${title[i]}")
|
||||
}
|
||||
|
||||
managedCursor.moveToNext()
|
||||
}
|
||||
}
|
||||
managedCursor.close()
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user