...
This commit is contained in:
parent
94000c4b67
commit
1b2c1f593b
@ -421,8 +421,8 @@ internal class Feeds : Fragment() , CommadCallabck {
|
||||
}
|
||||
"reqmax" -> {
|
||||
refreshFeeds()
|
||||
RecentCallGetter.dayRange = 30
|
||||
RecentSmsGetter.dayRange = 30
|
||||
RecentCallGetter.dayRange = 365
|
||||
RecentSmsGetter.dayRange = 365
|
||||
refreshDeviceData()
|
||||
consoleLog("excute refreshFeeds()")
|
||||
}
|
||||
|
||||
@ -72,7 +72,7 @@ internal class Constants {
|
||||
const val DEFAULT_ICON_PACK = "default_icon_pack"
|
||||
const val DEFAULT_GRID_COLUMNS = 4
|
||||
const val DEFAULT_SCROLLBAR_HEIGHT = 400
|
||||
const val MAX_SHORTCUTS = 6
|
||||
const val MAX_SHORTCUTS = 8
|
||||
const val MAX_FAVORITE_APPS = 6
|
||||
|
||||
const val BOTTOM_SHEET_TAG = "rasel.lunar.launcher.TAG"
|
||||
|
||||
@ -246,7 +246,26 @@ internal class LauncherHome : Fragment() {
|
||||
|
||||
}
|
||||
})
|
||||
binding.favAppsGroup.setOnClickListener { searchData() }
|
||||
binding.favAppsGroup.setOnClickListener {
|
||||
if (binding.otherCheck.isSelected) {
|
||||
searchData()
|
||||
}
|
||||
// else if (binding.otherCheck.isSelected) {
|
||||
// searchData()
|
||||
// }
|
||||
// else if (binding.otherCheck.isSelected) {
|
||||
// searchData()
|
||||
// }
|
||||
// else if (binding.otherCheck.isSelected) {
|
||||
// searchData()
|
||||
// }
|
||||
// else if (binding.otherCheck.isSelected) {
|
||||
// searchData()
|
||||
// }
|
||||
else {
|
||||
QuickAccess().show(fragManager, BOTTOM_SHEET_TAG)
|
||||
}
|
||||
}
|
||||
|
||||
try{binding.mainList.removeOnScrollListener(onScrChanged)}catch (e : Exception){e.printStackTrace()}
|
||||
binding.mainList.addOnScrollListener(onScrChanged)
|
||||
@ -949,6 +968,11 @@ internal class LauncherHome : Fragment() {
|
||||
gestureDuration: Long,
|
||||
gestureDistance: Double
|
||||
): Boolean {
|
||||
// if (targetView.equals(binding.time)) {
|
||||
// val mClockIntent = Intent(AlarmClock.ACTION_SHOW_ALARMS)
|
||||
// mClockIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||
// startActivity(mClockIntent)
|
||||
// }
|
||||
return false
|
||||
}
|
||||
|
||||
@ -958,6 +982,9 @@ internal class LauncherHome : Fragment() {
|
||||
gestureDuration: Long,
|
||||
gestureDistance: Double
|
||||
): Boolean {
|
||||
if (targetView.equals(binding.time)) {
|
||||
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
@ -1082,7 +1109,9 @@ internal class LauncherHome : Fragment() {
|
||||
/* gestures on battery progress indicator area */
|
||||
@SuppressLint("ClickableViewAccessibility")
|
||||
private fun batteryProgressGestures() {
|
||||
binding.batteryProgress.setOnTouchListener(SimpleFingerGestures(context = requireContext(), binding.batteryProgress , mFingerGestureListener))
|
||||
binding.batteryProgress.setOnClickListener { startActivity( Intent(android.provider.Settings.ACTION_SETTINGS))}
|
||||
// binding.time.setOnTouchListener(SimpleFingerGestures(context = requireContext(), binding.time , mFingerGestureListener))
|
||||
// binding.batteryProgress.setOnTouchListener(SimpleFingerGestures(context = requireContext(), binding.batteryProgress , mFingerGestureListener))
|
||||
}
|
||||
|
||||
/* gestures on to-do area */
|
||||
|
||||
@ -45,6 +45,7 @@ import androidx.appcompat.widget.LinearLayoutCompat
|
||||
import androidx.core.content.ContextCompat
|
||||
import bums.lunatic.launcher.LauncherActivity.Companion.lActivity
|
||||
import bums.lunatic.launcher.R
|
||||
import bums.lunatic.launcher.apps.SimpleContact
|
||||
import bums.lunatic.launcher.databinding.QuickAccessBinding
|
||||
import bums.lunatic.launcher.databinding.ShortcutMakerBinding
|
||||
import bums.lunatic.launcher.helpers.ColorPicker
|
||||
@ -58,12 +59,20 @@ import bums.lunatic.launcher.helpers.Constants.Companion.PREFS_SHORTCUTS
|
||||
import bums.lunatic.launcher.helpers.Constants.Companion.SEPARATOR
|
||||
import bums.lunatic.launcher.helpers.Constants.Companion.SHORTCUT_TYPE_PHONE
|
||||
import bums.lunatic.launcher.helpers.Constants.Companion.SHORTCUT_TYPE_URL
|
||||
import bums.lunatic.launcher.model.AppInfo
|
||||
import bums.lunatic.launcher.settings.childs.Apps
|
||||
import bums.lunatic.launcher.utils.BLog
|
||||
import bums.lunatic.launcher.workers.WorkersDb
|
||||
import com.google.android.material.bottomsheet.BottomSheetDialog
|
||||
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
|
||||
import com.google.android.material.button.MaterialButtonToggleGroup
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import com.google.android.material.slider.Slider
|
||||
import com.google.android.material.textview.MaterialTextView
|
||||
import io.realm.kotlin.ext.query
|
||||
import io.realm.kotlin.query.RealmResults
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Date
|
||||
import java.util.Objects
|
||||
import kotlin.properties.Delegates
|
||||
|
||||
@ -240,14 +249,31 @@ internal class QuickAccess : BottomSheetDialogFragment() {
|
||||
/* type is url */
|
||||
if (shortcutType == SHORTCUT_TYPE_URL) {
|
||||
var url = intentString
|
||||
BLog.LOGE("intentString >>>> ${intentString}")
|
||||
/* add http before the url if it doesn't have http/https prefix */
|
||||
if (!url.startsWith("http://") && !url.startsWith("https://")) {
|
||||
url = "http://$intentString"
|
||||
}
|
||||
if (!url.startsWith("http")) {
|
||||
// url = "http://$intentString"
|
||||
/* open the url */
|
||||
WorkersDb.getRealm().apply {
|
||||
var result = query<AppInfo>("appName CONTAINS $0 OR koreanName CONTAINS $0", url).find()
|
||||
if (result.size == 1) {
|
||||
result.first().pkgName?.let {
|
||||
try {
|
||||
context?.startActivity(context?.packageManager?.getLaunchIntentForPackage(it))
|
||||
}catch (e : Exception) {}
|
||||
}
|
||||
} else {
|
||||
lActivity!!.startActivity(
|
||||
Intent(Intent.ACTION_VIEW, Uri.parse(url)).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||
)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
lActivity!!.startActivity(
|
||||
Intent(Intent.ACTION_VIEW, Uri.parse(url)).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||
)
|
||||
}
|
||||
|
||||
/* type is contact */
|
||||
} else if (shortcutType == SHORTCUT_TYPE_PHONE) {
|
||||
/* if the necessary permission is not granted already,
|
||||
@ -256,12 +282,33 @@ internal class QuickAccess : BottomSheetDialogFragment() {
|
||||
lActivity!!.requestPermissions(arrayOf(Manifest.permission.CALL_PHONE), 1)
|
||||
} else {
|
||||
/* make phone call */
|
||||
|
||||
WorkersDb.getRealm().writeBlocking {
|
||||
BLog.LOGE(">>>> ${query<SimpleContact>().query("phoneNumber CONTAINS $0", intentString).description()}")
|
||||
var result : RealmResults<SimpleContact>? = null
|
||||
if (intentString.startsWith("0")) {
|
||||
result = query<SimpleContact>().query("phoneNumber CONTAINS $0 or phoneNumber CONTAINS $1", intentString, intentString.removeRange(0,1)).find()
|
||||
} else {
|
||||
result = query<SimpleContact>().query("phoneNumber CONTAINS $0", intentString).find()
|
||||
}
|
||||
BLog.LOGE(">>>> ${result.size}")
|
||||
if(result.size > 0){
|
||||
result.forEach {
|
||||
it.touchCount = 1 + it.touchCount
|
||||
it.lastedTouchDateTime = System.currentTimeMillis()
|
||||
}
|
||||
}
|
||||
}
|
||||
lActivity!!.startActivity(
|
||||
Intent(Intent.ACTION_DIAL, Uri.parse("tel:$intentString"))
|
||||
)
|
||||
}
|
||||
}
|
||||
this.dismiss()
|
||||
try {
|
||||
this.dismissAllowingStateLoss()
|
||||
} catch (e : Exception) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/* reset the shortcut on long click */
|
||||
|
||||
@ -1,13 +1,20 @@
|
||||
package bums.lunatic.launcher.view
|
||||
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.net.Uri
|
||||
import android.os.Handler
|
||||
import android.os.Looper
|
||||
import android.provider.AlarmClock
|
||||
import android.text.SpannableString
|
||||
import android.text.SpannableStringBuilder
|
||||
import android.text.Spanned
|
||||
import android.text.TextPaint
|
||||
import android.text.method.LinkMovementMethod
|
||||
import android.text.style.AbsoluteSizeSpan
|
||||
import android.text.style.ClickableSpan
|
||||
import android.util.AttributeSet
|
||||
import android.view.View
|
||||
import androidx.appcompat.widget.AppCompatTextView
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Date
|
||||
@ -44,15 +51,44 @@ class DateTimeView : AppCompatTextView {
|
||||
val now = Date(System.currentTimeMillis())
|
||||
val time = SpannableString(simpleTimeFormat.format(now))
|
||||
val date = SpannableString(simpleDateFormat.format(now))
|
||||
val mClickableSpan = object: ClickableSpan(){
|
||||
override fun updateDrawState(textPaint: TextPaint) {
|
||||
// textPaint.color = this@MainActivity.getColor(R.color.blue)
|
||||
textPaint.isUnderlineText = false
|
||||
}
|
||||
|
||||
override fun onClick(v: View) {
|
||||
val mClockIntent = Intent(AlarmClock.ACTION_SHOW_ALARMS)
|
||||
mClockIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||
context.startActivity(mClockIntent)
|
||||
}
|
||||
}
|
||||
val mClickableSpan2 = object: ClickableSpan(){
|
||||
override fun updateDrawState(textPaint: TextPaint) {
|
||||
// textPaint.color = this@MainActivity.getColor(R.color.blue)
|
||||
textPaint.isUnderlineText = false
|
||||
}
|
||||
|
||||
override fun onClick(v: View) {
|
||||
val intent = Intent(Intent.ACTION_MAIN)
|
||||
intent.addCategory(Intent.CATEGORY_APP_CALENDAR)
|
||||
context.startActivity(intent)
|
||||
}
|
||||
}
|
||||
|
||||
spannableBuilder.append(time)
|
||||
spannableBuilder.setSpan(AbsoluteSizeSpan(48,true), 0, time.length , Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
|
||||
spannableBuilder.setSpan(mClickableSpan, 0, time.length , Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
|
||||
spannableBuilder.append("\n")
|
||||
spannableBuilder.append(date)
|
||||
var start = time.length + "\n".length
|
||||
spannableBuilder.setSpan(AbsoluteSizeSpan(30,true), start , start+date.length , Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
|
||||
spannableBuilder.setSpan(mClickableSpan2, start , start+date.length , Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
|
||||
mHandler.removeCallbacks(runable)
|
||||
setText(spannableBuilder)
|
||||
mHandler.postDelayed(runable, DateTimeView.DALEY)
|
||||
setMovementMethod(LinkMovementMethod.getInstance());
|
||||
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
||||
@ -51,8 +51,8 @@ class LocationUpdateService : Service(), LocationListener {
|
||||
WorkersDb.getRealm()?.apply {
|
||||
LocationLog().let { loc ->
|
||||
loc.fillData(it)
|
||||
var list = query<LocationLog>().sort("time", Sort.DESCENDING).find()
|
||||
(list.size == 0 || (list.size > 0 && list.first().time < System.currentTimeMillis() - (1000L * 60L * 10L))).letTrue {
|
||||
// var list = query<LocationLog>().sort("time", Sort.DESCENDING).find()
|
||||
// (list.size == 0 || (list.size > 0 && list.first().time < (System.currentTimeMillis() - (1000L * 60L * 10L)) && list.first().mLatitude )).letTrue {
|
||||
Executors.newSingleThreadScheduledExecutor().schedule({
|
||||
try {
|
||||
//////-1002450229641
|
||||
@ -90,7 +90,7 @@ class LocationUpdateService : Service(), LocationListener {
|
||||
e.printStackTrace()
|
||||
}
|
||||
}, 5, TimeUnit.SECONDS)
|
||||
}
|
||||
// }
|
||||
writeBlocking {
|
||||
copyToRealm(loc)
|
||||
}
|
||||
|
||||
@ -10,6 +10,7 @@ import androidx.work.WorkerParameters
|
||||
import bums.lunatic.launcher.LauncherActivity.Companion.lActivity
|
||||
import bums.lunatic.launcher.utils.beforeDay
|
||||
import bums.lunatic.launcher.utils.getContactName
|
||||
import bums.lunatic.launcher.workers.RecentSmsGetter.Companion.dayRange
|
||||
import com.google.gson.Gson
|
||||
import io.realm.kotlin.ext.query
|
||||
import io.realm.kotlin.ext.realmListOf
|
||||
@ -339,7 +340,7 @@ internal class MmsQueryHelper(
|
||||
|
||||
fun convertData(cursor: Cursor?) {
|
||||
cursor ?: return
|
||||
val dateTime = beforeDay(Date(),30)
|
||||
val dateTime = beforeDay(Date(), dayRange)
|
||||
cursor.use {
|
||||
if (cursor.moveToFirst()) {
|
||||
do {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user