Simple-Contacts/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/SimpleActivity.kt

86 lines
3.5 KiB
Kotlin

package com.simplemobiletools.contacts.pro.activities
import android.content.ContentValues
import android.content.Intent
import android.graphics.drawable.Drawable
import android.net.Uri
import com.simplemobiletools.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.extensions.getColoredDrawableWithColor
import com.simplemobiletools.commons.extensions.getProperTextColor
import com.simplemobiletools.commons.helpers.KEY_PHONE
import com.simplemobiletools.contacts.pro.R
import com.simplemobiletools.contacts.pro.helpers.KEY_MAILTO
import com.simplemobiletools.contacts.pro.helpers.LOCATION_CONTACTS_TAB
import com.simplemobiletools.contacts.pro.helpers.LOCATION_FAVORITES_TAB
open class SimpleActivity : BaseSimpleActivity() {
override fun getAppIconIDs() = arrayListOf(
R.mipmap.ic_launcher_red,
R.mipmap.ic_launcher_pink,
R.mipmap.ic_launcher_purple,
R.mipmap.ic_launcher_deep_purple,
R.mipmap.ic_launcher_indigo,
R.mipmap.ic_launcher_blue,
R.mipmap.ic_launcher_light_blue,
R.mipmap.ic_launcher_cyan,
R.mipmap.ic_launcher_teal,
R.mipmap.ic_launcher_green,
R.mipmap.ic_launcher_light_green,
R.mipmap.ic_launcher_lime,
R.mipmap.ic_launcher_yellow,
R.mipmap.ic_launcher_amber,
R.mipmap.ic_launcher,
R.mipmap.ic_launcher_deep_orange,
R.mipmap.ic_launcher_brown,
R.mipmap.ic_launcher_blue_grey,
R.mipmap.ic_launcher_grey_black
)
override fun getAppLauncherName() = getString(R.string.app_launcher_name)
protected fun getPhoneNumberFromIntent(intent: Intent): String? {
if (intent.extras?.containsKey(KEY_PHONE) == true) {
return intent.getStringExtra(KEY_PHONE)
} else if (intent.extras?.containsKey("data") == true) {
// sample contact number from Google Contacts:
// data: [data1=+123 456 789 mimetype=vnd.android.cursor.item/phone_v2 _id=-1 data2=0]
val data = intent.extras!!.get("data")
if (data != null) {
val contentValues = (data as? ArrayList<Any>)?.firstOrNull() as? ContentValues
if (contentValues != null && contentValues.containsKey("data1")) {
return contentValues.getAsString("data1")
}
}
}
return null
}
protected fun getEmailFromIntent(intent: Intent): String? {
return if (intent.dataString?.startsWith("$KEY_MAILTO:") == true) {
Uri.decode(intent.dataString!!.substringAfter("$KEY_MAILTO:").trim())
} else {
null
}
}
protected fun getTabIcon(position: Int): Drawable {
val drawableId = when (position) {
LOCATION_CONTACTS_TAB -> com.simplemobiletools.commons.R.drawable.ic_person_vector
LOCATION_FAVORITES_TAB -> com.simplemobiletools.commons.R.drawable.ic_star_vector
else -> com.simplemobiletools.commons.R.drawable.ic_people_vector
}
return resources.getColoredDrawableWithColor(drawableId, getProperTextColor())
}
protected fun getTabLabel(position: Int): String {
val stringId = when (position) {
LOCATION_CONTACTS_TAB -> com.simplemobiletools.commons.R.string.contacts_tab
LOCATION_FAVORITES_TAB -> com.simplemobiletools.commons.R.string.favorites_tab
else -> com.simplemobiletools.commons.R.string.groups_tab
}
return resources.getString(stringId)
}
}