Remove SetupActivity, perform setup in MainActivity

Squashed commit of the following:

commit ff6ece72a60917ceec3ea1485901e8929e65bb43
Author: Moez Bhatti <moez.bhatti@gmail.com>
Date:   Wed May 9 01:50:33 2018 -0400

    Remove default SMS UI from settings

commit 1ce79ea756259268c4d2fcd8acbee3101fdbe019
Author: Moez Bhatti <moez.bhatti@gmail.com>
Date:   Wed May 9 01:45:33 2018 -0400

    Remove SetupActivity, perform setup in MainActivity

commit ccad342d2ab8a5346d63dab273ba9cadb2fa62c0
Author: Moez Bhatti <moez.bhatti@gmail.com>
Date:   Mon May 7 18:02:26 2018 -0400

    Don't query ContentProvider without appropriate permission

commit 527be2e5331ba0cbfd6f3375c12378105d282b0c
Author: Moez Bhatti <moez.bhatti@gmail.com>
Date:   Mon May 7 17:12:00 2018 -0400

    Show non-blocking UI in MainActivity while syncing
This commit is contained in:
Moez Bhatti
2018-05-09 15:20:58 -04:00
parent 4e4a72cafd
commit 11167aff5b
63 changed files with 414 additions and 624 deletions
@@ -24,14 +24,16 @@ import android.net.Uri
import android.provider.Telephony.*
import com.google.android.mms.pdu_alt.PduHeaders
import manager.KeyManager
import manager.PermissionManager
import model.Message
import util.extensions.map
import javax.inject.Inject
class CursorToMessageImpl @Inject constructor(
private val context: Context,
private val cursorToPart: CursorToPart,
private val keys: KeyManager,
private val cursorToPart: CursorToPart
private val permissionManager: PermissionManager
) : CursorToMessage {
companion object {
@@ -120,7 +122,10 @@ class CursorToMessageImpl @Inject constructor(
}
override fun getMessagesCursor(): Cursor? {
return context.contentResolver.query(URI, PROJECTION, null, null, "normalized_date desc")
return when (permissionManager.hasSms()) {
true -> context.contentResolver.query(URI, PROJECTION, null, null, "normalized_date desc")
false -> null
}
}
override fun getMessageCursor(id: Long): Cursor? {