Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9ebf4bfd authored by moezbhatti's avatar moezbhatti
Browse files

Move option to edit blocking manager settings to selection screen

parent 816a355d
Loading
Loading
Loading
Loading
+1 −12
Original line number Diff line number Diff line
/*
 * Copyright (C) 2017 Moez Bhatti <moez.bhatti@gmail.com>
 * Copyright (C) 2019 Moez Bhatti <moez.bhatti@gmail.com>
 *
 * This file is part of QKSMS.
 *
@@ -18,11 +18,9 @@
 */
package com.moez.QKSMS.common.util.extensions

import android.app.Activity
import android.content.Context
import android.graphics.Color
import android.util.TypedValue
import android.view.inputmethod.InputMethodManager
import android.widget.Toast
import androidx.annotation.StringRes
import androidx.core.content.ContextCompat
@@ -65,15 +63,6 @@ fun Context.makeToast(text: String, duration: Int = Toast.LENGTH_SHORT) {
    Toast.makeText(this, text, duration).show()
}

fun Activity.dismissKeyboard() {
    window.currentFocus?.let { focus ->
        val imm = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
        imm.hideSoftInputFromWindow(focus.windowToken, 0)

        focus.clearFocus()
    }
}

fun Context.isInstalled(packageName: String): Boolean {
    return tryOrNull(false) { packageManager.getApplicationInfo(packageName, 0).enabled } ?: false
}
+2 −2
Original line number Diff line number Diff line
/*
 * Copyright (C) 2017 Moez Bhatti <moez.bhatti@gmail.com>
 * Copyright (C) 2019 Moez Bhatti <moez.bhatti@gmail.com>
 *
 * This file is part of QKSMS.
 *
+2 −0
Original line number Diff line number Diff line
@@ -32,6 +32,8 @@ class BlockingManager @Inject constructor(
        }
    }

    override fun isAvailable(): Boolean = client.isAvailable()

    override fun isBlocked(address: String): Single<Boolean> = client.isBlocked(address)

    override fun canBlock(): Boolean = client.canBlock()
+3 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import android.database.Cursor
import android.net.Uri
import androidx.core.database.getStringOrNull
import com.callcontrol.datashare.CallControl
import com.moez.QKSMS.common.util.extensions.isInstalled
import com.moez.QKSMS.extensions.map
import com.moez.QKSMS.util.tryOrNull
import io.reactivex.Completable
@@ -43,6 +44,8 @@ class CallControlBlockingClient @Inject constructor(
        val blockReason: String? = cursor.getStringOrNull(0)
    }

    override fun isAvailable(): Boolean = context.isInstalled("com.flexaspect.android.everycallcontrol")

    override fun isBlocked(address: String): Single<Boolean> {
        val uri = Uri.withAppendedPath(CallControl.LOOKUP_TEXT_URI, address)
        return Single.fromCallable {
+2 −0
Original line number Diff line number Diff line
@@ -34,6 +34,8 @@ class QkBlockingClient @Inject constructor(
    private val blockingRepo: BlockingRepository
) : BlockingClient {

    override fun isAvailable(): Boolean = true

    override fun isBlocked(address: String): Single<Boolean> = Single.fromCallable {
        when {
            Build.VERSION.SDK_INT >= 24 -> BlockedNumberContract.isBlocked(context, address)
Loading