Merge pull request #7 from FossifyOrg/fossify_rebranding

Fossify rebranding
This commit is contained in:
Naveen Singh 2023-12-21 20:45:52 +05:30 committed by GitHub
commit 02496a3b55
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
379 changed files with 1028 additions and 995 deletions

View file

@ -1,5 +1,5 @@
# Simple SMS Messenger
<img alt="Logo" src="graphics/icon.png" width="120" />
<img alt="Logo" src="graphics/icon.webp" width="120" />
A great way to stay in touch with your relatives, by sending both SMS and MMS messages. The app properly handles group messaging too, just like blocking numbers from Android 7+. Keep in touch with all of your contacts using the messaging app on your phone. It's never been easier to share photos, send emojis, or just say a quick hello. There's so much you can do with your messages, like mute conversations or assign special message tones for certain contacts. With this text message and group messaging app, you can enjoy the daily private messaging and group messaging in a more fun way.
@ -16,7 +16,7 @@ It comes with material design and dark theme by default, provides great user exp
Contains no ads or unnecessary permissions. It is fully opensource, provides customizable colors. You can also customize the font of your text message in both group messaging and private messaging.
Check out the full suite of apps here:
https://github.com/FossifyX
https://github.com/FossifyOrg
<div style="display:flex;">
<img alt="App image" src="fastlane/metadata/android/en-US/images/phoneScreenshots/1_en-US.jpeg" width="30%">

View file

@ -96,7 +96,7 @@ android {
}
dependencies {
implementation(libs.simple.mobile.tools.commons)
implementation(libs.fossify.commons)
implementation(libs.eventbus)
implementation(libs.indicator.fast.scroll)
implementation(libs.android.smsmms)

View file

@ -30,6 +30,6 @@
}
# Gson
-keep class com.simplemobiletools.commons.models.SimpleContact { *; }
-keep class com.simplemobiletools.smsmessenger.models.Attachment { *; }
-keep class com.simplemobiletools.smsmessenger.models.MessageAttachment { *; }
-keep class org.fossify.commons.models.SimpleContact { *; }
-keep class org.fossify.smsmessenger.models.Attachment { *; }
-keep class org.fossify.smsmessenger.models.MessageAttachment { *; }

View file

@ -122,21 +122,21 @@
</activity>
<activity
android:name="com.simplemobiletools.commons.activities.AboutActivity"
android:name="org.fossify.commons.activities.AboutActivity"
android:configChanges="orientation"
android:exported="false"
android:label="@string/about"
android:parentActivityName=".activities.MainActivity" />
<activity
android:name="com.simplemobiletools.commons.activities.CustomizationActivity"
android:name="org.fossify.commons.activities.CustomizationActivity"
android:configChanges="orientation"
android:exported="false"
android:label="@string/customize_colors"
android:parentActivityName=".activities.SettingsActivity" />
<activity
android:name="com.simplemobiletools.commons.activities.ManageBlockedNumbersActivity"
android:name="org.fossify.commons.activities.ManageBlockedNumbersActivity"
android:configChanges="orientation"
android:exported="false"
android:label="@string/blocked_numbers"
@ -221,7 +221,7 @@
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="com.simplemobiletools.smsmessenger.action.mark_as_read" />
<action android:name="org.fossify.smsmessenger.action.mark_as_read" />
</intent-filter>
</receiver>
@ -230,7 +230,7 @@
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="com.simplemobiletools.smsmessenger.action.reply" />
<action android:name="org.fossify.smsmessenger.action.reply" />
</intent-filter>
</receiver>
@ -239,7 +239,7 @@
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="com.simplemobiletools.smsmessenger.action.delete" />
<action android:name="org.fossify.smsmessenger.action.delete" />
</intent-filter>
</receiver>
@ -385,10 +385,10 @@
<activity-alias
android:name=".activities.SplashActivity.Green"
android:enabled="false"
android:enabled="true"
android:exported="true"
android:icon="@mipmap/ic_launcher_green"
android:roundIcon="@mipmap/ic_launcher_green"
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher"
android:targetActivity=".activities.SplashActivity">
<intent-filter>
@ -455,10 +455,10 @@
<activity-alias
android:name=".activities.SplashActivity.Orange"
android:enabled="true"
android:enabled="false"
android:exported="true"
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher"
android:icon="@mipmap/ic_launcher_orange"
android:roundIcon="@mipmap/ic_launcher_orange"
android:targetActivity=".activities.SplashActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

View file

@ -1,20 +0,0 @@
package com.simplemobiletools.smsmessenger.dialogs
import com.simplemobiletools.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.extensions.getAlertDialogBuilder
import com.simplemobiletools.commons.extensions.setupDialogStuff
import com.simplemobiletools.smsmessenger.databinding.DialogInvalidNumberBinding
class InvalidNumberDialog(val activity: BaseSimpleActivity, val text: String) {
init {
val binding = DialogInvalidNumberBinding.inflate(activity.layoutInflater).apply {
dialogInvalidNumberDesc.text = text
}
activity.getAlertDialogBuilder()
.setPositiveButton(com.simplemobiletools.commons.R.string.ok) { _, _ -> { } }
.apply {
activity.setupDialogStuff(binding.root, this)
}
}
}

View file

@ -1,9 +0,0 @@
package com.simplemobiletools.smsmessenger.extensions.gson
import com.google.gson.Gson
import com.google.gson.GsonBuilder
import com.google.gson.reflect.TypeToken
private val gsonBuilder = GsonBuilder().registerTypeAdapter(object: TypeToken<Map<String, Any>>(){}.type, MapDeserializerDoubleAsIntFix())
val gson : Gson = gsonBuilder.create()

View file

@ -1,5 +0,0 @@
package com.simplemobiletools.smsmessenger.models
class Events {
class RefreshMessages
}

View file

@ -1,31 +0,0 @@
package com.simplemobiletools.smsmessenger.receivers
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import com.simplemobiletools.commons.extensions.notificationManager
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.smsmessenger.extensions.conversationsDB
import com.simplemobiletools.smsmessenger.extensions.deleteMessage
import com.simplemobiletools.smsmessenger.extensions.updateLastConversationMessage
import com.simplemobiletools.smsmessenger.extensions.updateUnreadCountBadge
import com.simplemobiletools.smsmessenger.helpers.IS_MMS
import com.simplemobiletools.smsmessenger.helpers.MESSAGE_ID
import com.simplemobiletools.smsmessenger.helpers.THREAD_ID
import com.simplemobiletools.smsmessenger.helpers.refreshMessages
class DeleteSmsReceiver: BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
val threadId = intent.getLongExtra(THREAD_ID, 0L)
val messageId = intent.getLongExtra(MESSAGE_ID, 0L)
val isMms = intent.getBooleanExtra(IS_MMS, false)
context.notificationManager.cancel(threadId.hashCode())
ensureBackgroundThread {
context.deleteMessage(messageId, isMms)
context.updateUnreadCountBadge(context.conversationsDB.getUnreadConversations())
context.updateLastConversationMessage(threadId)
refreshMessages()
}
}
}

View file

@ -1,7 +1,7 @@
package com.simplemobiletools.smsmessenger
package org.fossify.smsmessenger
import android.app.Application
import com.simplemobiletools.commons.extensions.checkUseEnglish
import org.fossify.commons.extensions.checkUseEnglish
class App : Application() {
override fun onCreate() {

View file

@ -1,18 +1,23 @@
package com.simplemobiletools.smsmessenger.activities
package org.fossify.smsmessenger.activities
import android.annotation.SuppressLint
import android.content.Intent
import android.os.Bundle
import com.simplemobiletools.commons.dialogs.ConfirmationDialog
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.*
import com.simplemobiletools.smsmessenger.R
import com.simplemobiletools.smsmessenger.adapters.ArchivedConversationsAdapter
import com.simplemobiletools.smsmessenger.databinding.ActivityArchivedConversationsBinding
import com.simplemobiletools.smsmessenger.extensions.*
import com.simplemobiletools.smsmessenger.helpers.*
import com.simplemobiletools.smsmessenger.models.Conversation
import com.simplemobiletools.smsmessenger.models.Events
import org.fossify.commons.dialogs.ConfirmationDialog
import org.fossify.commons.extensions.*
import org.fossify.commons.helpers.NavigationIcon
import org.fossify.commons.helpers.WAS_PROTECTION_HANDLED
import org.fossify.commons.helpers.ensureBackgroundThread
import org.fossify.smsmessenger.R
import org.fossify.smsmessenger.adapters.ArchivedConversationsAdapter
import org.fossify.smsmessenger.databinding.ActivityArchivedConversationsBinding
import org.fossify.smsmessenger.extensions.config
import org.fossify.smsmessenger.extensions.conversationsDB
import org.fossify.smsmessenger.extensions.removeAllArchivedConversations
import org.fossify.smsmessenger.helpers.THREAD_ID
import org.fossify.smsmessenger.helpers.THREAD_TITLE
import org.fossify.smsmessenger.models.Conversation
import org.fossify.smsmessenger.models.Events
import org.greenrobot.eventbus.EventBus
import org.greenrobot.eventbus.Subscribe
import org.greenrobot.eventbus.ThreadMode
@ -98,8 +103,8 @@ class ArchivedConversationsActivity : SimpleActivity() {
activity = this,
message = "",
messageId = R.string.empty_archive_confirmation,
positive = com.simplemobiletools.commons.R.string.yes,
negative = com.simplemobiletools.commons.R.string.no
positive = org.fossify.commons.R.string.yes,
negative = org.fossify.commons.R.string.no
) {
removeAllArchivedConversations {
loadArchivedConversations()

View file

@ -1,17 +1,17 @@
package com.simplemobiletools.smsmessenger.activities
package org.fossify.smsmessenger.activities
import android.os.Bundle
import androidx.core.content.res.ResourcesCompat
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.NavigationIcon
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.commons.models.SimpleContact
import com.simplemobiletools.smsmessenger.adapters.ContactsAdapter
import com.simplemobiletools.smsmessenger.databinding.ActivityConversationDetailsBinding
import com.simplemobiletools.smsmessenger.dialogs.RenameConversationDialog
import com.simplemobiletools.smsmessenger.extensions.*
import com.simplemobiletools.smsmessenger.helpers.THREAD_ID
import com.simplemobiletools.smsmessenger.models.Conversation
import org.fossify.commons.extensions.*
import org.fossify.commons.helpers.NavigationIcon
import org.fossify.commons.helpers.ensureBackgroundThread
import org.fossify.commons.models.SimpleContact
import org.fossify.smsmessenger.adapters.ContactsAdapter
import org.fossify.smsmessenger.databinding.ActivityConversationDetailsBinding
import org.fossify.smsmessenger.dialogs.RenameConversationDialog
import org.fossify.smsmessenger.extensions.*
import org.fossify.smsmessenger.helpers.THREAD_ID
import org.fossify.smsmessenger.models.Conversation
class ConversationDetailsActivity : SimpleActivity() {
@ -62,7 +62,7 @@ class ConversationDetailsActivity : SimpleActivity() {
private fun setupTextViews() {
binding.conversationName.apply {
ResourcesCompat.getDrawable(resources, com.simplemobiletools.commons.R.drawable.ic_edit_vector, theme)?.apply {
ResourcesCompat.getDrawable(resources, org.fossify.commons.R.drawable.ic_edit_vector, theme)?.apply {
applyColorFilter(getProperTextColor())
setCompoundDrawablesWithIntrinsicBounds(null, null, this, null)
}

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.activities
package org.fossify.smsmessenger.activities
import android.annotation.SuppressLint
import android.app.Activity
@ -12,22 +12,24 @@ import android.os.Bundle
import android.provider.Telephony
import android.text.TextUtils
import androidx.coordinatorlayout.widget.CoordinatorLayout
import com.simplemobiletools.commons.dialogs.PermissionRequiredDialog
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.*
import com.simplemobiletools.commons.models.FAQItem
import com.simplemobiletools.commons.models.Release
import com.simplemobiletools.smsmessenger.BuildConfig
import com.simplemobiletools.smsmessenger.R
import com.simplemobiletools.smsmessenger.adapters.ConversationsAdapter
import com.simplemobiletools.smsmessenger.adapters.SearchResultsAdapter
import com.simplemobiletools.smsmessenger.databinding.ActivityMainBinding
import com.simplemobiletools.smsmessenger.extensions.*
import com.simplemobiletools.smsmessenger.helpers.*
import com.simplemobiletools.smsmessenger.models.Conversation
import com.simplemobiletools.smsmessenger.models.Events
import com.simplemobiletools.smsmessenger.models.Message
import com.simplemobiletools.smsmessenger.models.SearchResult
import org.fossify.commons.dialogs.PermissionRequiredDialog
import org.fossify.commons.extensions.*
import org.fossify.commons.helpers.*
import org.fossify.commons.models.FAQItem
import org.fossify.commons.models.Release
import org.fossify.smsmessenger.BuildConfig
import org.fossify.smsmessenger.R
import org.fossify.smsmessenger.adapters.ConversationsAdapter
import org.fossify.smsmessenger.adapters.SearchResultsAdapter
import org.fossify.smsmessenger.databinding.ActivityMainBinding
import org.fossify.smsmessenger.extensions.*
import org.fossify.smsmessenger.helpers.SEARCHED_MESSAGE_ID
import org.fossify.smsmessenger.helpers.THREAD_ID
import org.fossify.smsmessenger.helpers.THREAD_TITLE
import org.fossify.smsmessenger.models.Conversation
import org.fossify.smsmessenger.models.Events
import org.fossify.smsmessenger.models.Message
import org.fossify.smsmessenger.models.SearchResult
import org.greenrobot.eventbus.EventBus
import org.greenrobot.eventbus.Subscribe
import org.greenrobot.eventbus.ThreadMode
@ -106,7 +108,7 @@ class MainActivity : SimpleActivity() {
binding.conversationsProgressBar.trackColor = properPrimaryColor.adjustAlpha(LOWER_ALPHA)
checkShortcut()
(binding.conversationsFab.layoutParams as? CoordinatorLayout.LayoutParams)?.bottomMargin =
navigationBarHeight + resources.getDimension(com.simplemobiletools.commons.R.dimen.activity_margin).toInt()
navigationBarHeight + resources.getDimension(org.fossify.commons.R.dimen.activity_margin).toInt()
}
override fun onPause() {
@ -185,7 +187,7 @@ class MainActivity : SimpleActivity() {
private fun refreshMenuItems() {
binding.mainMenu.getToolbar().menu.apply {
findItem(R.id.more_apps_from_us).isVisible = !resources.getBoolean(com.simplemobiletools.commons.R.bool.hide_google_relations)
findItem(R.id.more_apps_from_us).isVisible = !resources.getBoolean(org.fossify.commons.R.bool.hide_google_relations)
findItem(R.id.show_recycle_bin).isVisible = config.useRecycleBin
findItem(R.id.show_archived).isVisible = config.isArchiveAvailable
}
@ -223,7 +225,7 @@ class MainActivity : SimpleActivity() {
startActivityForResult(intent, MAKE_DEFAULT_APP_REQUEST)
}
} else {
toast(com.simplemobiletools.commons.R.string.unknown_error_occurred)
toast(org.fossify.commons.R.string.unknown_error_occurred)
finish()
}
} else {
@ -248,7 +250,7 @@ class MainActivity : SimpleActivity() {
if (!granted) {
PermissionRequiredDialog(
activity = this,
textId = com.simplemobiletools.commons.R.string.allow_notifications_incoming_messages,
textId = org.fossify.commons.R.string.allow_notifications_incoming_messages,
positiveActionCallback = { openNotificationSettings() })
}
}
@ -481,8 +483,8 @@ class MainActivity : SimpleActivity() {
@SuppressLint("NewApi")
private fun getCreateNewContactShortcut(appIconColor: Int): ShortcutInfo {
val newEvent = getString(R.string.new_conversation)
val drawable = resources.getDrawable(com.simplemobiletools.commons.R.drawable.shortcut_plus)
(drawable as LayerDrawable).findDrawableByLayerId(com.simplemobiletools.commons.R.id.shortcut_plus_background).applyColorFilter(appIconColor)
val drawable = resources.getDrawable(org.fossify.commons.R.drawable.shortcut_plus)
(drawable as LayerDrawable).findDrawableByLayerId(org.fossify.commons.R.id.shortcut_plus_background).applyColorFilter(appIconColor)
val bmp = drawable.convertToBitmap()
val intent = Intent(this, NewConversationActivity::class.java)
@ -581,12 +583,12 @@ class MainActivity : SimpleActivity() {
val faqItems = arrayListOf(
FAQItem(R.string.faq_2_title, R.string.faq_2_text),
FAQItem(R.string.faq_3_title, R.string.faq_3_text),
FAQItem(com.simplemobiletools.commons.R.string.faq_9_title_commons, com.simplemobiletools.commons.R.string.faq_9_text_commons)
FAQItem(org.fossify.commons.R.string.faq_9_title_commons, org.fossify.commons.R.string.faq_9_text_commons)
)
if (!resources.getBoolean(com.simplemobiletools.commons.R.bool.hide_google_relations)) {
faqItems.add(FAQItem(com.simplemobiletools.commons.R.string.faq_2_title_commons, com.simplemobiletools.commons.R.string.faq_2_text_commons))
faqItems.add(FAQItem(com.simplemobiletools.commons.R.string.faq_6_title_commons, com.simplemobiletools.commons.R.string.faq_6_text_commons))
if (!resources.getBoolean(org.fossify.commons.R.bool.hide_google_relations)) {
faqItems.add(FAQItem(org.fossify.commons.R.string.faq_2_title_commons, org.fossify.commons.R.string.faq_2_text_commons))
faqItems.add(FAQItem(org.fossify.commons.R.string.faq_6_title_commons, org.fossify.commons.R.string.faq_6_text_commons))
}
startAboutActivity(R.string.app_name, licenses, BuildConfig.VERSION_NAME, faqItems, true)
@ -599,8 +601,6 @@ class MainActivity : SimpleActivity() {
private fun checkWhatsNewDialog() {
arrayListOf<Release>().apply {
add(Release(48, R.string.release_48))
add(Release(62, R.string.release_62))
checkWhatsNew(this, BuildConfig.VERSION_CODE)
}
}

View file

@ -1,23 +1,19 @@
package com.simplemobiletools.smsmessenger.activities
package org.fossify.smsmessenger.activities
import android.os.Bundle
import com.simplemobiletools.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.extensions.beVisibleIf
import com.simplemobiletools.commons.extensions.getProperPrimaryColor
import com.simplemobiletools.commons.extensions.underlineText
import com.simplemobiletools.commons.extensions.updateTextColors
import com.simplemobiletools.commons.extensions.viewBinding
import com.simplemobiletools.commons.helpers.APP_ICON_IDS
import com.simplemobiletools.commons.helpers.APP_LAUNCHER_NAME
import com.simplemobiletools.commons.helpers.NavigationIcon
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.commons.interfaces.RefreshRecyclerViewListener
import com.simplemobiletools.smsmessenger.R
import com.simplemobiletools.smsmessenger.databinding.ActivityManageBlockedKeywordsBinding
import com.simplemobiletools.smsmessenger.dialogs.AddBlockedKeywordDialog
import com.simplemobiletools.smsmessenger.dialogs.ManageBlockedKeywordsAdapter
import com.simplemobiletools.smsmessenger.extensions.config
import com.simplemobiletools.smsmessenger.extensions.toArrayList
import org.fossify.commons.activities.BaseSimpleActivity
import org.fossify.commons.extensions.*
import org.fossify.commons.helpers.APP_ICON_IDS
import org.fossify.commons.helpers.APP_LAUNCHER_NAME
import org.fossify.commons.helpers.NavigationIcon
import org.fossify.commons.helpers.ensureBackgroundThread
import org.fossify.commons.interfaces.RefreshRecyclerViewListener
import org.fossify.smsmessenger.R
import org.fossify.smsmessenger.databinding.ActivityManageBlockedKeywordsBinding
import org.fossify.smsmessenger.dialogs.AddBlockedKeywordDialog
import org.fossify.smsmessenger.dialogs.ManageBlockedKeywordsAdapter
import org.fossify.smsmessenger.extensions.config
import org.fossify.smsmessenger.extensions.toArrayList
class ManageBlockedKeywordsActivity : BaseSimpleActivity(), RefreshRecyclerViewListener {
override fun getAppIconIDs() = intent.getIntegerArrayListExtra(APP_ICON_IDS) ?: ArrayList()

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.activities
package org.fossify.smsmessenger.activities
import android.content.Intent
import android.net.Uri
@ -7,19 +7,19 @@ import android.view.WindowManager
import android.widget.Toast
import com.google.gson.Gson
import com.reddit.indicatorfastscroll.FastScrollItemIndicator
import com.simplemobiletools.commons.dialogs.RadioGroupDialog
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.*
import com.simplemobiletools.commons.models.RadioItem
import com.simplemobiletools.commons.models.SimpleContact
import com.simplemobiletools.smsmessenger.R
import com.simplemobiletools.smsmessenger.adapters.ContactsAdapter
import com.simplemobiletools.smsmessenger.databinding.ActivityNewConversationBinding
import com.simplemobiletools.smsmessenger.databinding.ItemSuggestedContactBinding
import com.simplemobiletools.smsmessenger.extensions.getSuggestedContacts
import com.simplemobiletools.smsmessenger.extensions.getThreadId
import com.simplemobiletools.smsmessenger.helpers.*
import com.simplemobiletools.smsmessenger.messaging.isShortCodeWithLetters
import org.fossify.commons.dialogs.RadioGroupDialog
import org.fossify.commons.extensions.*
import org.fossify.commons.helpers.*
import org.fossify.commons.models.RadioItem
import org.fossify.commons.models.SimpleContact
import org.fossify.smsmessenger.R
import org.fossify.smsmessenger.adapters.ContactsAdapter
import org.fossify.smsmessenger.databinding.ActivityNewConversationBinding
import org.fossify.smsmessenger.databinding.ItemSuggestedContactBinding
import org.fossify.smsmessenger.extensions.getSuggestedContacts
import org.fossify.smsmessenger.extensions.getThreadId
import org.fossify.smsmessenger.helpers.*
import org.fossify.smsmessenger.messaging.isShortCodeWithLetters
import java.net.URLDecoder
import java.util.Locale
@ -146,9 +146,9 @@ class NewConversationActivity : SimpleActivity() {
if (!hasContacts) {
val placeholderText = if (hasPermission(PERMISSION_READ_CONTACTS)) {
com.simplemobiletools.commons.R.string.no_contacts_found
org.fossify.commons.R.string.no_contacts_found
} else {
com.simplemobiletools.commons.R.string.no_access_to_contacts
org.fossify.commons.R.string.no_access_to_contacts
}
binding.noContactsPlaceholder.text = getString(placeholderText)

View file

@ -1,18 +1,24 @@
package com.simplemobiletools.smsmessenger.activities
package org.fossify.smsmessenger.activities
import android.annotation.SuppressLint
import android.content.Intent
import android.os.Bundle
import com.simplemobiletools.commons.dialogs.ConfirmationDialog
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.*
import com.simplemobiletools.smsmessenger.R
import com.simplemobiletools.smsmessenger.adapters.RecycleBinConversationsAdapter
import com.simplemobiletools.smsmessenger.databinding.ActivityRecycleBinConversationsBinding
import com.simplemobiletools.smsmessenger.extensions.*
import com.simplemobiletools.smsmessenger.helpers.*
import com.simplemobiletools.smsmessenger.models.Conversation
import com.simplemobiletools.smsmessenger.models.Events
import org.fossify.commons.dialogs.ConfirmationDialog
import org.fossify.commons.extensions.*
import org.fossify.commons.helpers.NavigationIcon
import org.fossify.commons.helpers.WAS_PROTECTION_HANDLED
import org.fossify.commons.helpers.ensureBackgroundThread
import org.fossify.smsmessenger.R
import org.fossify.smsmessenger.adapters.RecycleBinConversationsAdapter
import org.fossify.smsmessenger.databinding.ActivityRecycleBinConversationsBinding
import org.fossify.smsmessenger.extensions.config
import org.fossify.smsmessenger.extensions.conversationsDB
import org.fossify.smsmessenger.extensions.emptyMessagesRecycleBin
import org.fossify.smsmessenger.helpers.IS_RECYCLE_BIN
import org.fossify.smsmessenger.helpers.THREAD_ID
import org.fossify.smsmessenger.helpers.THREAD_TITLE
import org.fossify.smsmessenger.models.Conversation
import org.fossify.smsmessenger.models.Events
import org.greenrobot.eventbus.EventBus
import org.greenrobot.eventbus.Subscribe
import org.greenrobot.eventbus.ThreadMode
@ -98,8 +104,8 @@ class RecycleBinConversationsActivity : SimpleActivity() {
activity = this,
message = "",
messageId = R.string.empty_recycle_bin_messages_confirmation,
positive = com.simplemobiletools.commons.R.string.yes,
negative = com.simplemobiletools.commons.R.string.no
positive = org.fossify.commons.R.string.yes,
negative = org.fossify.commons.R.string.no
) {
ensureBackgroundThread {
emptyMessagesRecycleBin()

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.activities
package org.fossify.smsmessenger.activities
import android.annotation.TargetApi
import android.content.Intent
@ -6,22 +6,21 @@ import android.net.Uri
import android.os.Build
import android.os.Bundle
import androidx.activity.result.contract.ActivityResultContracts
import com.simplemobiletools.commons.activities.ManageBlockedNumbersActivity
import com.simplemobiletools.commons.dialogs.*
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.*
import com.simplemobiletools.commons.models.RadioItem
import com.simplemobiletools.smsmessenger.R
import com.simplemobiletools.smsmessenger.databinding.ActivitySettingsBinding
import com.simplemobiletools.smsmessenger.dialogs.ExportMessagesDialog
import com.simplemobiletools.smsmessenger.extensions.config
import com.simplemobiletools.smsmessenger.extensions.emptyMessagesRecycleBin
import com.simplemobiletools.smsmessenger.extensions.messagesDB
import com.simplemobiletools.smsmessenger.helpers.*
import com.simplemobiletools.smsmessenger.models.*
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
import java.util.*
import org.fossify.commons.activities.ManageBlockedNumbersActivity
import org.fossify.commons.dialogs.*
import org.fossify.commons.extensions.*
import org.fossify.commons.helpers.*
import org.fossify.commons.models.RadioItem
import org.fossify.smsmessenger.R
import org.fossify.smsmessenger.databinding.ActivitySettingsBinding
import org.fossify.smsmessenger.dialogs.ExportMessagesDialog
import org.fossify.smsmessenger.extensions.config
import org.fossify.smsmessenger.extensions.emptyMessagesRecycleBin
import org.fossify.smsmessenger.extensions.messagesDB
import org.fossify.smsmessenger.helpers.*
import java.util.Locale
import kotlin.system.exitProcess
class SettingsActivity : SimpleActivity() {
@ -99,7 +98,7 @@ class SettingsActivity : SimpleActivity() {
private val saveDocument = registerForActivityResult(ActivityResultContracts.CreateDocument(messagesFileType)) { uri ->
if (uri != null) {
toast(com.simplemobiletools.commons.R.string.exporting)
toast(org.fossify.commons.R.string.exporting)
exportMessages(uri)
}
}
@ -123,7 +122,7 @@ class SettingsActivity : SimpleActivity() {
try {
MessagesReader(this).getMessagesToExport(config.exportSms, config.exportMms) { messagesToExport ->
if (messagesToExport.isEmpty()) {
toast(com.simplemobiletools.commons.R.string.no_entries_for_exporting)
toast(org.fossify.commons.R.string.no_entries_for_exporting)
return@getMessagesToExport
}
val json = Json { encodeDefaults = true }
@ -133,7 +132,7 @@ class SettingsActivity : SimpleActivity() {
outputStream.use {
it.write(jsonString.toByteArray())
}
toast(com.simplemobiletools.commons.R.string.exporting_successful)
toast(org.fossify.commons.R.string.exporting_successful)
}
} catch (e: Exception) {
showErrorToast(e)
@ -188,7 +187,7 @@ class SettingsActivity : SimpleActivity() {
// support for device-wise blocking came on Android 7, rely only on that
@TargetApi(Build.VERSION_CODES.N)
private fun setupManageBlockedNumbers() = binding.apply {
settingsManageBlockedNumbers.text = addLockedLabelIfNeeded(com.simplemobiletools.commons.R.string.manage_blocked_numbers)
settingsManageBlockedNumbers.text = addLockedLabelIfNeeded(org.fossify.commons.R.string.manage_blocked_numbers)
settingsManageBlockedNumbersHolder.beVisibleIf(isNougatPlus())
settingsManageBlockedNumbersHolder.setOnClickListener {
@ -228,10 +227,10 @@ class SettingsActivity : SimpleActivity() {
settingsFontSize.text = getFontSizeText()
settingsFontSizeHolder.setOnClickListener {
val items = arrayListOf(
RadioItem(FONT_SIZE_SMALL, getString(com.simplemobiletools.commons.R.string.small)),
RadioItem(FONT_SIZE_MEDIUM, getString(com.simplemobiletools.commons.R.string.medium)),
RadioItem(FONT_SIZE_LARGE, getString(com.simplemobiletools.commons.R.string.large)),
RadioItem(FONT_SIZE_EXTRA_LARGE, getString(com.simplemobiletools.commons.R.string.extra_large))
RadioItem(FONT_SIZE_SMALL, getString(org.fossify.commons.R.string.small)),
RadioItem(FONT_SIZE_MEDIUM, getString(org.fossify.commons.R.string.medium)),
RadioItem(FONT_SIZE_LARGE, getString(org.fossify.commons.R.string.large)),
RadioItem(FONT_SIZE_EXTRA_LARGE, getString(org.fossify.commons.R.string.extra_large))
)
RadioGroupDialog(this@SettingsActivity, items, config.fontSize) {
@ -295,7 +294,7 @@ class SettingsActivity : SimpleActivity() {
val items = arrayListOf(
RadioItem(LOCK_SCREEN_SENDER_MESSAGE, getString(R.string.sender_and_message)),
RadioItem(LOCK_SCREEN_SENDER, getString(R.string.sender_only)),
RadioItem(LOCK_SCREEN_NOTHING, getString(com.simplemobiletools.commons.R.string.nothing)),
RadioItem(LOCK_SCREEN_NOTHING, getString(org.fossify.commons.R.string.nothing)),
)
RadioGroupDialog(this@SettingsActivity, items, config.lockScreenVisibilitySetting) {
@ -309,7 +308,7 @@ class SettingsActivity : SimpleActivity() {
when (config.lockScreenVisibilitySetting) {
LOCK_SCREEN_SENDER_MESSAGE -> R.string.sender_and_message
LOCK_SCREEN_SENDER -> R.string.sender_only
else -> com.simplemobiletools.commons.R.string.nothing
else -> org.fossify.commons.R.string.nothing
}
)
@ -359,14 +358,14 @@ class SettingsActivity : SimpleActivity() {
settingsEmptyRecycleBinHolder.setOnClickListener {
if (recycleBinMessages == 0) {
toast(com.simplemobiletools.commons.R.string.recycle_bin_empty)
toast(org.fossify.commons.R.string.recycle_bin_empty)
} else {
ConfirmationDialog(
activity = this@SettingsActivity,
message = "",
messageId = R.string.empty_recycle_bin_messages_confirmation,
positive = com.simplemobiletools.commons.R.string.yes,
negative = com.simplemobiletools.commons.R.string.no
positive = org.fossify.commons.R.string.yes,
negative = org.fossify.commons.R.string.no
) {
ensureBackgroundThread {
emptyMessagesRecycleBin()
@ -393,12 +392,12 @@ class SettingsActivity : SimpleActivity() {
if (config.isAppPasswordProtectionOn) {
val confirmationTextId = if (config.appProtectionType == PROTECTION_FINGERPRINT) {
com.simplemobiletools.commons.R.string.fingerprint_setup_successfully
org.fossify.commons.R.string.fingerprint_setup_successfully
} else {
com.simplemobiletools.commons.R.string.protection_setup_successfully
org.fossify.commons.R.string.protection_setup_successfully
}
ConfirmationDialog(this@SettingsActivity, "", confirmationTextId, com.simplemobiletools.commons.R.string.ok, 0) { }
ConfirmationDialog(this@SettingsActivity, "", confirmationTextId, org.fossify.commons.R.string.ok, 0) { }
}
}
}

View file

@ -1,7 +1,7 @@
package com.simplemobiletools.smsmessenger.activities
package org.fossify.smsmessenger.activities
import com.simplemobiletools.commons.activities.BaseSimpleActivity
import com.simplemobiletools.smsmessenger.R
import org.fossify.commons.activities.BaseSimpleActivity
import org.fossify.smsmessenger.R
open class SimpleActivity : BaseSimpleActivity() {
override fun getAppIconIDs() = arrayListOf(
@ -14,12 +14,12 @@ open class SimpleActivity : BaseSimpleActivity() {
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,
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_orange,
R.mipmap.ic_launcher_deep_orange,
R.mipmap.ic_launcher_brown,
R.mipmap.ic_launcher_blue_grey,

View file

@ -1,7 +1,7 @@
package com.simplemobiletools.smsmessenger.activities
package org.fossify.smsmessenger.activities
import android.content.Intent
import com.simplemobiletools.commons.activities.BaseSplashActivity
import org.fossify.commons.activities.BaseSplashActivity
class SplashActivity : BaseSplashActivity() {
override fun initActivity() {

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.activities
package org.fossify.smsmessenger.activities
import android.annotation.SuppressLint
import android.app.Activity
@ -43,31 +43,31 @@ import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
import com.simplemobiletools.commons.dialogs.ConfirmationDialog
import com.simplemobiletools.commons.dialogs.FeatureLockedDialog
import com.simplemobiletools.commons.dialogs.PermissionRequiredDialog
import com.simplemobiletools.commons.dialogs.RadioGroupDialog
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.*
import com.simplemobiletools.commons.models.PhoneNumber
import com.simplemobiletools.commons.models.RadioItem
import com.simplemobiletools.commons.models.SimpleContact
import com.simplemobiletools.commons.views.MyRecyclerView
import com.simplemobiletools.smsmessenger.BuildConfig
import com.simplemobiletools.smsmessenger.R
import com.simplemobiletools.smsmessenger.adapters.AttachmentsAdapter
import com.simplemobiletools.smsmessenger.adapters.AutoCompleteTextViewAdapter
import com.simplemobiletools.smsmessenger.adapters.ThreadAdapter
import com.simplemobiletools.smsmessenger.databinding.ActivityThreadBinding
import com.simplemobiletools.smsmessenger.databinding.ItemSelectedContactBinding
import com.simplemobiletools.smsmessenger.dialogs.InvalidNumberDialog
import com.simplemobiletools.smsmessenger.dialogs.RenameConversationDialog
import com.simplemobiletools.smsmessenger.dialogs.ScheduleMessageDialog
import com.simplemobiletools.smsmessenger.extensions.*
import com.simplemobiletools.smsmessenger.helpers.*
import com.simplemobiletools.smsmessenger.messaging.*
import com.simplemobiletools.smsmessenger.models.*
import com.simplemobiletools.smsmessenger.models.ThreadItem.*
import org.fossify.commons.dialogs.ConfirmationDialog
import org.fossify.commons.dialogs.FeatureLockedDialog
import org.fossify.commons.dialogs.PermissionRequiredDialog
import org.fossify.commons.dialogs.RadioGroupDialog
import org.fossify.commons.extensions.*
import org.fossify.commons.helpers.*
import org.fossify.commons.models.PhoneNumber
import org.fossify.commons.models.RadioItem
import org.fossify.commons.models.SimpleContact
import org.fossify.commons.views.MyRecyclerView
import org.fossify.smsmessenger.BuildConfig
import org.fossify.smsmessenger.R
import org.fossify.smsmessenger.adapters.AttachmentsAdapter
import org.fossify.smsmessenger.adapters.AutoCompleteTextViewAdapter
import org.fossify.smsmessenger.adapters.ThreadAdapter
import org.fossify.smsmessenger.databinding.ActivityThreadBinding
import org.fossify.smsmessenger.databinding.ItemSelectedContactBinding
import org.fossify.smsmessenger.dialogs.InvalidNumberDialog
import org.fossify.smsmessenger.dialogs.RenameConversationDialog
import org.fossify.smsmessenger.dialogs.ScheduleMessageDialog
import org.fossify.smsmessenger.extensions.*
import org.fossify.smsmessenger.helpers.*
import org.fossify.smsmessenger.messaging.*
import org.fossify.smsmessenger.models.*
import org.fossify.smsmessenger.models.ThreadItem.*
import org.greenrobot.eventbus.EventBus
import org.greenrobot.eventbus.Subscribe
import org.greenrobot.eventbus.ThreadMode
@ -131,7 +131,7 @@ class ThreadActivity : SimpleActivity() {
val extras = intent.extras
if (extras == null) {
toast(com.simplemobiletools.commons.R.string.unknown_error_occurred)
toast(org.fossify.commons.R.string.unknown_error_occurred)
finish()
return
}
@ -257,7 +257,7 @@ class ThreadActivity : SimpleActivity() {
findItem(R.id.unarchive).isVisible = threadItems.isNotEmpty() && conversation?.isArchived == true && !isRecycleBin && archiveAvailable
findItem(R.id.rename_conversation).isVisible = participants.size > 1 && conversation != null && !isRecycleBin
findItem(R.id.conversation_details).isVisible = conversation != null && !isRecycleBin
findItem(R.id.block_number).title = addLockedLabelIfNeeded(com.simplemobiletools.commons.R.string.block_number)
findItem(R.id.block_number).title = addLockedLabelIfNeeded(org.fossify.commons.R.string.block_number)
findItem(R.id.block_number).isVisible = isNougatPlus() && !isRecycleBin
findItem(R.id.dial_number).isVisible = participants.size == 1 && !isSpecialNumber() && !isRecycleBin
findItem(R.id.manage_people).isVisible = !isSpecialNumber() && !isRecycleBin
@ -401,7 +401,7 @@ class ThreadActivity : SimpleActivity() {
val name = intent.getStringExtra(THREAD_TITLE) ?: ""
val number = intent.getStringExtra(THREAD_NUMBER)
if (number == null) {
toast(com.simplemobiletools.commons.R.string.unknown_error_occurred)
toast(org.fossify.commons.R.string.unknown_error_occurred)
finish()
return@ensureBackgroundThread
}
@ -761,7 +761,7 @@ class ThreadActivity : SimpleActivity() {
} else {
PermissionRequiredDialog(
activity = this,
textId = com.simplemobiletools.commons.R.string.allow_alarm_scheduled_messages,
textId = org.fossify.commons.R.string.allow_alarm_scheduled_messages,
positiveActionCallback = {
openRequestExactAlarmSettings(BuildConfig.APPLICATION_ID)
},
@ -837,7 +837,7 @@ class ThreadActivity : SimpleActivity() {
)
}
if (isOreoPlus()) {
tooltipText = getString(com.simplemobiletools.commons.R.string.more_info)
tooltipText = getString(org.fossify.commons.R.string.more_info)
}
}
}
@ -936,7 +936,7 @@ class ThreadActivity : SimpleActivity() {
private fun blockNumber() {
val numbers = participants.getAddresses()
val numbersString = TextUtils.join(", ", numbers)
val question = String.format(resources.getString(com.simplemobiletools.commons.R.string.block_confirmation), numbersString)
val question = String.format(resources.getString(org.fossify.commons.R.string.block_confirmation), numbersString)
ConfirmationDialog(this, question) {
ensureBackgroundThread {
@ -1153,7 +1153,7 @@ class ThreadActivity : SimpleActivity() {
return items
}
private fun launchActivityForResult(intent: Intent, requestCode: Int, @StringRes error: Int = com.simplemobiletools.commons.R.string.no_app_found) {
private fun launchActivityForResult(intent: Intent, requestCode: Int, @StringRes error: Int = org.fossify.commons.R.string.no_app_found) {
hideKeyboard()
try {
startActivityForResult(intent, requestCode)
@ -1226,11 +1226,11 @@ class ThreadActivity : SimpleActivity() {
addAttachment(vCardUri)
}
} else {
toast(com.simplemobiletools.commons.R.string.unknown_error_occurred)
toast(org.fossify.commons.R.string.unknown_error_occurred)
}
}
} else {
toast(com.simplemobiletools.commons.R.string.unknown_error_occurred)
toast(org.fossify.commons.R.string.unknown_error_occurred)
}
}
}
@ -1251,7 +1251,7 @@ class ThreadActivity : SimpleActivity() {
val mimeType = contentResolver.getType(uri)
if (mimeType == null) {
toast(com.simplemobiletools.commons.R.string.unknown_error_occurred)
toast(org.fossify.commons.R.string.unknown_error_occurred)
return
}
val isImage = mimeType.isImageMimeType()
@ -1302,7 +1302,7 @@ class ThreadActivity : SimpleActivity() {
outputStream = contentResolver.openOutputStream(Uri.parse(resultData.dataString!!), "rwt")
inputStream!!.copyTo(outputStream!!)
outputStream.flush()
toast(com.simplemobiletools.commons.R.string.file_saved)
toast(org.fossify.commons.R.string.file_saved)
} catch (e: Exception) {
showErrorToast(e)
} finally {
@ -1331,7 +1331,7 @@ class ThreadActivity : SimpleActivity() {
private fun sendMessage() {
var text = binding.messageHolder.threadTypeMessage.value
if (text.isEmpty() && getAttachmentSelections().isEmpty()) {
showErrorToast(getString(com.simplemobiletools.commons.R.string.unknown_error_occurred))
showErrorToast(getString(org.fossify.commons.R.string.unknown_error_occurred))
return
}
scrollToBottom()
@ -1379,7 +1379,7 @@ class ThreadActivity : SimpleActivity() {
}
}
} catch (e: Exception) {
showErrorToast(e.localizedMessage ?: getString(com.simplemobiletools.commons.R.string.unknown_error_occurred))
showErrorToast(e.localizedMessage ?: getString(org.fossify.commons.R.string.unknown_error_occurred))
}
}
@ -1403,7 +1403,7 @@ class ThreadActivity : SimpleActivity() {
} catch (e: Exception) {
showErrorToast(e)
} catch (e: Error) {
showErrorToast(e.localizedMessage ?: getString(com.simplemobiletools.commons.R.string.unknown_error_occurred))
showErrorToast(e.localizedMessage ?: getString(org.fossify.commons.R.string.unknown_error_occurred))
}
}
@ -1441,9 +1441,9 @@ class ThreadActivity : SimpleActivity() {
newLinearLayout.orientation = LinearLayout.HORIZONTAL
val sideMargin = (binding.selectedContacts.layoutParams as RelativeLayout.LayoutParams).leftMargin
val mediumMargin = resources.getDimension(com.simplemobiletools.commons.R.dimen.medium_margin).toInt()
val mediumMargin = resources.getDimension(org.fossify.commons.R.dimen.medium_margin).toInt()
val parentWidth = realScreenSize.x - sideMargin * 2
val firstRowWidth = parentWidth - resources.getDimension(com.simplemobiletools.commons.R.dimen.normal_icon_size).toInt() + sideMargin / 2
val firstRowWidth = parentWidth - resources.getDimension(org.fossify.commons.R.dimen.normal_icon_size).toInt() + sideMargin / 2
var widthSoFar = 0
var isFirstRow = true
@ -1529,7 +1529,7 @@ class ThreadActivity : SimpleActivity() {
type = mimeType
addCategory(Intent.CATEGORY_OPENABLE)
putExtra(Intent.EXTRA_TITLE, path.split("/").last())
launchActivityForResult(this, PICK_SAVE_FILE_INTENT, error = com.simplemobiletools.commons.R.string.system_service_disabled)
launchActivityForResult(this, PICK_SAVE_FILE_INTENT, error = org.fossify.commons.R.string.system_service_disabled)
}
}
@ -1597,7 +1597,7 @@ class ThreadActivity : SimpleActivity() {
val items = arrayListOf(
RadioItem(TYPE_EDIT, getString(R.string.update_message)),
RadioItem(TYPE_SEND, getString(R.string.send_now)),
RadioItem(TYPE_DELETE, getString(com.simplemobiletools.commons.R.string.delete))
RadioItem(TYPE_DELETE, getString(org.fossify.commons.R.string.delete))
)
RadioGroupDialog(activity = this, items = items, titleId = R.string.scheduled_message) { any ->
when (any as Int) {
@ -1733,14 +1733,14 @@ class ThreadActivity : SimpleActivity() {
private fun setupAttachmentPickerView() = binding.messageHolder.attachmentPicker.apply {
val buttonColors = arrayOf(
com.simplemobiletools.commons.R.color.md_red_500,
com.simplemobiletools.commons.R.color.md_brown_500,
com.simplemobiletools.commons.R.color.md_pink_500,
com.simplemobiletools.commons.R.color.md_purple_500,
com.simplemobiletools.commons.R.color.md_teal_500,
com.simplemobiletools.commons.R.color.md_green_500,
com.simplemobiletools.commons.R.color.md_indigo_500,
com.simplemobiletools.commons.R.color.md_blue_500
org.fossify.commons.R.color.md_red_500,
org.fossify.commons.R.color.md_brown_500,
org.fossify.commons.R.color.md_pink_500,
org.fossify.commons.R.color.md_purple_500,
org.fossify.commons.R.color.md_teal_500,
org.fossify.commons.R.color.md_green_500,
org.fossify.commons.R.color.md_indigo_500,
org.fossify.commons.R.color.md_blue_500
).map { ResourcesCompat.getColor(resources, it, theme) }
arrayOf(
choosePhotoIcon,
@ -1869,7 +1869,7 @@ class ThreadActivity : SimpleActivity() {
}
private fun getBottomBarColor() = if (baseConfig.isUsingSystemTheme) {
resources.getColor(com.simplemobiletools.commons.R.color.you_bottom_bar_color)
resources.getColor(org.fossify.commons.R.color.you_bottom_bar_color)
} else {
getBottomNavigationBackgroundColor()
}

View file

@ -1,23 +1,23 @@
package com.simplemobiletools.smsmessenger.activities
package org.fossify.smsmessenger.activities
import android.content.Intent
import android.net.Uri
import android.os.Bundle
import com.simplemobiletools.commons.extensions.normalizePhoneNumber
import com.simplemobiletools.commons.extensions.sendEmailIntent
import com.simplemobiletools.commons.extensions.viewBinding
import com.simplemobiletools.commons.helpers.NavigationIcon
import com.simplemobiletools.smsmessenger.R
import com.simplemobiletools.smsmessenger.adapters.VCardViewerAdapter
import com.simplemobiletools.smsmessenger.databinding.ActivityVcardViewerBinding
import com.simplemobiletools.smsmessenger.extensions.dialNumber
import com.simplemobiletools.smsmessenger.helpers.EXTRA_VCARD_URI
import com.simplemobiletools.smsmessenger.helpers.parseVCardFromUri
import com.simplemobiletools.smsmessenger.models.VCardPropertyWrapper
import com.simplemobiletools.smsmessenger.models.VCardWrapper
import ezvcard.VCard
import ezvcard.property.Email
import ezvcard.property.Telephone
import org.fossify.commons.extensions.normalizePhoneNumber
import org.fossify.commons.extensions.sendEmailIntent
import org.fossify.commons.extensions.viewBinding
import org.fossify.commons.helpers.NavigationIcon
import org.fossify.smsmessenger.R
import org.fossify.smsmessenger.adapters.VCardViewerAdapter
import org.fossify.smsmessenger.databinding.ActivityVcardViewerBinding
import org.fossify.smsmessenger.extensions.dialNumber
import org.fossify.smsmessenger.helpers.EXTRA_VCARD_URI
import org.fossify.smsmessenger.helpers.parseVCardFromUri
import org.fossify.smsmessenger.models.VCardPropertyWrapper
import org.fossify.smsmessenger.models.VCardWrapper
class VCardViewerActivity : SimpleActivity() {

View file

@ -1,16 +1,16 @@
package com.simplemobiletools.smsmessenger.adapters
package org.fossify.smsmessenger.adapters
import android.view.Menu
import com.simplemobiletools.commons.dialogs.ConfirmationDialog
import com.simplemobiletools.commons.extensions.notificationManager
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.commons.views.MyRecyclerView
import com.simplemobiletools.smsmessenger.R
import com.simplemobiletools.smsmessenger.activities.SimpleActivity
import com.simplemobiletools.smsmessenger.extensions.deleteConversation
import com.simplemobiletools.smsmessenger.extensions.updateConversationArchivedStatus
import com.simplemobiletools.smsmessenger.helpers.refreshMessages
import com.simplemobiletools.smsmessenger.models.Conversation
import org.fossify.commons.dialogs.ConfirmationDialog
import org.fossify.commons.extensions.notificationManager
import org.fossify.commons.helpers.ensureBackgroundThread
import org.fossify.commons.views.MyRecyclerView
import org.fossify.smsmessenger.R
import org.fossify.smsmessenger.activities.SimpleActivity
import org.fossify.smsmessenger.extensions.deleteConversation
import org.fossify.smsmessenger.extensions.updateConversationArchivedStatus
import org.fossify.smsmessenger.helpers.refreshMessages
import org.fossify.smsmessenger.models.Conversation
class ArchivedConversationsAdapter(
activity: SimpleActivity, recyclerView: MyRecyclerView, onRefresh: () -> Unit, itemClick: (Any) -> Unit
@ -35,7 +35,7 @@ class ArchivedConversationsAdapter(
val itemsCnt = selectedKeys.size
val items = resources.getQuantityString(R.plurals.delete_conversations, itemsCnt, itemsCnt)
val baseString = com.simplemobiletools.commons.R.string.deletion_confirmation
val baseString = org.fossify.commons.R.string.deletion_confirmation
val question = String.format(resources.getString(baseString), items)
ConfirmationDialog(activity, question) {

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.adapters
package org.fossify.smsmessenger.adapters
import android.content.Intent
import android.graphics.drawable.Drawable
@ -18,16 +18,16 @@ import com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions
import com.bumptech.glide.request.RequestListener
import com.bumptech.glide.request.RequestOptions
import com.bumptech.glide.request.target.Target
import com.simplemobiletools.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.smsmessenger.R
import com.simplemobiletools.smsmessenger.activities.VCardViewerActivity
import com.simplemobiletools.smsmessenger.databinding.ItemAttachmentDocumentPreviewBinding
import com.simplemobiletools.smsmessenger.databinding.ItemAttachmentMediaPreviewBinding
import com.simplemobiletools.smsmessenger.databinding.ItemAttachmentVcardPreviewBinding
import com.simplemobiletools.smsmessenger.extensions.*
import com.simplemobiletools.smsmessenger.helpers.*
import com.simplemobiletools.smsmessenger.models.AttachmentSelection
import org.fossify.commons.activities.BaseSimpleActivity
import org.fossify.commons.extensions.*
import org.fossify.smsmessenger.R
import org.fossify.smsmessenger.activities.VCardViewerActivity
import org.fossify.smsmessenger.databinding.ItemAttachmentDocumentPreviewBinding
import org.fossify.smsmessenger.databinding.ItemAttachmentMediaPreviewBinding
import org.fossify.smsmessenger.databinding.ItemAttachmentVcardPreviewBinding
import org.fossify.smsmessenger.extensions.*
import org.fossify.smsmessenger.helpers.*
import org.fossify.smsmessenger.models.AttachmentSelection
class AttachmentsAdapter(
val activity: BaseSimpleActivity,
@ -72,6 +72,7 @@ class AttachmentsAdapter(
onRemoveButtonClicked = { removeAttachment(attachment) }
)
}
ATTACHMENT_VCARD -> {
(binding as ItemAttachmentVcardPreviewBinding).setupVCardPreview(
activity = activity,
@ -85,6 +86,7 @@ class AttachmentsAdapter(
onRemoveButtonClicked = { removeAttachment(attachment) }
)
}
ATTACHMENT_MEDIA -> setupMediaPreview(
binding = binding as ItemAttachmentMediaPreviewBinding,
attachment = attachment
@ -164,7 +166,7 @@ class AttachmentsAdapter(
}
private fun loadMediaPreview(binding: ItemAttachmentMediaPreviewBinding, attachment: AttachmentSelection) {
val roundedCornersRadius = resources.getDimension(com.simplemobiletools.commons.R.dimen.activity_margin).toInt()
val roundedCornersRadius = resources.getDimension(org.fossify.commons.R.dimen.activity_margin).toInt()
val size = resources.getDimension(R.dimen.attachment_preview_size).toInt()
val options = RequestOptions()
@ -179,7 +181,7 @@ class AttachmentsAdapter(
.listener(object : RequestListener<Drawable> {
override fun onLoadFailed(e: GlideException?, model: Any?, target: Target<Drawable>, isFirstResource: Boolean): Boolean {
removeAttachment(attachment)
activity.toast(com.simplemobiletools.commons.R.string.unknown_error_occurred)
activity.toast(org.fossify.commons.R.string.unknown_error_occurred)
return false
}

View file

@ -1,18 +1,18 @@
package com.simplemobiletools.smsmessenger.adapters
package org.fossify.smsmessenger.adapters
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ArrayAdapter
import android.widget.Filter
import com.simplemobiletools.commons.databinding.ItemContactWithNumberBinding
import com.simplemobiletools.commons.extensions.darkenColor
import com.simplemobiletools.commons.extensions.getContrastColor
import com.simplemobiletools.commons.extensions.getProperBackgroundColor
import com.simplemobiletools.commons.extensions.normalizeString
import com.simplemobiletools.commons.helpers.SimpleContactsHelper
import com.simplemobiletools.commons.models.SimpleContact
import com.simplemobiletools.smsmessenger.activities.SimpleActivity
import org.fossify.commons.databinding.ItemContactWithNumberBinding
import org.fossify.commons.extensions.darkenColor
import org.fossify.commons.extensions.getContrastColor
import org.fossify.commons.extensions.getProperBackgroundColor
import org.fossify.commons.extensions.normalizeString
import org.fossify.commons.helpers.SimpleContactsHelper
import org.fossify.commons.models.SimpleContact
import org.fossify.smsmessenger.activities.SimpleActivity
class AutoCompleteTextViewAdapter(val activity: SimpleActivity, val contacts: ArrayList<SimpleContact>) : ArrayAdapter<SimpleContact>(activity, 0, contacts) {
var resultList = ArrayList<SimpleContact>()

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.adapters
package org.fossify.smsmessenger.adapters
import android.graphics.Typeface
import android.os.Parcelable
@ -9,15 +9,16 @@ import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.RecyclerView
import com.bumptech.glide.Glide
import com.qtalk.recyclerviewfastscroller.RecyclerViewFastScroller
import com.simplemobiletools.commons.adapters.MyRecyclerViewListAdapter
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.SimpleContactsHelper
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.commons.views.MyRecyclerView
import com.simplemobiletools.smsmessenger.activities.SimpleActivity
import com.simplemobiletools.smsmessenger.databinding.ItemConversationBinding
import com.simplemobiletools.smsmessenger.extensions.*
import com.simplemobiletools.smsmessenger.models.Conversation
import org.fossify.commons.adapters.MyRecyclerViewListAdapter
import org.fossify.commons.extensions.*
import org.fossify.commons.helpers.SimpleContactsHelper
import org.fossify.commons.helpers.ensureBackgroundThread
import org.fossify.commons.views.MyRecyclerView
import org.fossify.smsmessenger.activities.SimpleActivity
import org.fossify.smsmessenger.databinding.ItemConversationBinding
import org.fossify.smsmessenger.extensions.config
import org.fossify.smsmessenger.extensions.getAllDrafts
import org.fossify.smsmessenger.models.Conversation
@Suppress("LeakingThis")
abstract class BaseConversationsAdapter(

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.adapters
package org.fossify.smsmessenger.adapters
import android.text.TextUtils
import android.util.TypedValue
@ -6,13 +6,13 @@ import android.view.Menu
import android.view.View
import android.view.ViewGroup
import com.bumptech.glide.Glide
import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter
import com.simplemobiletools.commons.databinding.ItemContactWithNumberBinding
import com.simplemobiletools.commons.extensions.getTextSize
import com.simplemobiletools.commons.helpers.SimpleContactsHelper
import com.simplemobiletools.commons.models.SimpleContact
import com.simplemobiletools.commons.views.MyRecyclerView
import com.simplemobiletools.smsmessenger.activities.SimpleActivity
import org.fossify.commons.adapters.MyRecyclerViewAdapter
import org.fossify.commons.databinding.ItemContactWithNumberBinding
import org.fossify.commons.extensions.getTextSize
import org.fossify.commons.helpers.SimpleContactsHelper
import org.fossify.commons.models.SimpleContact
import org.fossify.commons.views.MyRecyclerView
import org.fossify.smsmessenger.activities.SimpleActivity
class ContactsAdapter(
activity: SimpleActivity, var contacts: ArrayList<SimpleContact>, recyclerView: MyRecyclerView, itemClick: (Any) -> Unit

View file

@ -1,22 +1,22 @@
package com.simplemobiletools.smsmessenger.adapters
package org.fossify.smsmessenger.adapters
import android.content.Intent
import android.text.TextUtils
import android.view.Menu
import com.simplemobiletools.commons.dialogs.ConfirmationDialog
import com.simplemobiletools.commons.dialogs.FeatureLockedDialog
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.KEY_PHONE
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.commons.helpers.isNougatPlus
import com.simplemobiletools.commons.views.MyRecyclerView
import com.simplemobiletools.smsmessenger.R
import com.simplemobiletools.smsmessenger.activities.SimpleActivity
import com.simplemobiletools.smsmessenger.dialogs.RenameConversationDialog
import com.simplemobiletools.smsmessenger.extensions.*
import com.simplemobiletools.smsmessenger.helpers.refreshMessages
import com.simplemobiletools.smsmessenger.messaging.isShortCodeWithLetters
import com.simplemobiletools.smsmessenger.models.Conversation
import org.fossify.commons.dialogs.ConfirmationDialog
import org.fossify.commons.dialogs.FeatureLockedDialog
import org.fossify.commons.extensions.*
import org.fossify.commons.helpers.KEY_PHONE
import org.fossify.commons.helpers.ensureBackgroundThread
import org.fossify.commons.helpers.isNougatPlus
import org.fossify.commons.views.MyRecyclerView
import org.fossify.smsmessenger.R
import org.fossify.smsmessenger.activities.SimpleActivity
import org.fossify.smsmessenger.dialogs.RenameConversationDialog
import org.fossify.smsmessenger.extensions.*
import org.fossify.smsmessenger.helpers.refreshMessages
import org.fossify.smsmessenger.messaging.isShortCodeWithLetters
import org.fossify.smsmessenger.models.Conversation
class ConversationsAdapter(
activity: SimpleActivity, recyclerView: MyRecyclerView, onRefresh: () -> Unit, itemClick: (Any) -> Unit
@ -31,7 +31,7 @@ class ConversationsAdapter(
val archiveAvailable = activity.config.isArchiveAvailable
menu.apply {
findItem(R.id.cab_block_number).title = activity.addLockedLabelIfNeeded(com.simplemobiletools.commons.R.string.block_number)
findItem(R.id.cab_block_number).title = activity.addLockedLabelIfNeeded(org.fossify.commons.R.string.block_number)
findItem(R.id.cab_block_number).isVisible = isNougatPlus()
findItem(R.id.cab_add_number_to_contact).isVisible = isSingleSelection && !isGroupConversation
findItem(R.id.cab_dial_number).isVisible = isSingleSelection && !isGroupConversation && !isShortCodeWithLetters(selectedConversation.phoneNumber)
@ -76,7 +76,7 @@ class ConversationsAdapter(
private fun askConfirmBlock() {
val numbers = getSelectedItems().distinctBy { it.phoneNumber }.map { it.phoneNumber }
val numbersString = TextUtils.join(", ", numbers)
val question = String.format(resources.getString(com.simplemobiletools.commons.R.string.block_confirmation), numbersString)
val question = String.format(resources.getString(org.fossify.commons.R.string.block_confirmation), numbersString)
ConfirmationDialog(activity, question) {
blockNumbers()
@ -120,7 +120,7 @@ class ConversationsAdapter(
val itemsCnt = selectedKeys.size
val items = resources.getQuantityString(R.plurals.delete_conversations, itemsCnt, itemsCnt)
val baseString = com.simplemobiletools.commons.R.string.deletion_confirmation
val baseString = org.fossify.commons.R.string.deletion_confirmation
val question = String.format(resources.getString(baseString), items)
ConfirmationDialog(activity, question) {

View file

@ -1,16 +1,16 @@
package com.simplemobiletools.smsmessenger.adapters
package org.fossify.smsmessenger.adapters
import android.view.Menu
import com.simplemobiletools.commons.dialogs.ConfirmationDialog
import com.simplemobiletools.commons.extensions.notificationManager
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.commons.views.MyRecyclerView
import com.simplemobiletools.smsmessenger.R
import com.simplemobiletools.smsmessenger.activities.SimpleActivity
import com.simplemobiletools.smsmessenger.extensions.deleteConversation
import com.simplemobiletools.smsmessenger.extensions.restoreAllMessagesFromRecycleBinForConversation
import com.simplemobiletools.smsmessenger.helpers.refreshMessages
import com.simplemobiletools.smsmessenger.models.Conversation
import org.fossify.commons.dialogs.ConfirmationDialog
import org.fossify.commons.extensions.notificationManager
import org.fossify.commons.helpers.ensureBackgroundThread
import org.fossify.commons.views.MyRecyclerView
import org.fossify.smsmessenger.R
import org.fossify.smsmessenger.activities.SimpleActivity
import org.fossify.smsmessenger.extensions.deleteConversation
import org.fossify.smsmessenger.extensions.restoreAllMessagesFromRecycleBinForConversation
import org.fossify.smsmessenger.helpers.refreshMessages
import org.fossify.smsmessenger.models.Conversation
class RecycleBinConversationsAdapter(
activity: SimpleActivity, recyclerView: MyRecyclerView, onRefresh: () -> Unit, itemClick: (Any) -> Unit
@ -35,7 +35,7 @@ class RecycleBinConversationsAdapter(
val itemsCnt = selectedKeys.size
val items = resources.getQuantityString(R.plurals.delete_conversations, itemsCnt, itemsCnt)
val baseString = com.simplemobiletools.commons.R.string.deletion_confirmation
val baseString = org.fossify.commons.R.string.deletion_confirmation
val question = String.format(resources.getString(baseString), items)
ConfirmationDialog(activity, question) {

View file

@ -1,18 +1,18 @@
package com.simplemobiletools.smsmessenger.adapters
package org.fossify.smsmessenger.adapters
import android.util.TypedValue
import android.view.Menu
import android.view.View
import android.view.ViewGroup
import com.bumptech.glide.Glide
import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter
import com.simplemobiletools.commons.extensions.getTextSize
import com.simplemobiletools.commons.extensions.highlightTextPart
import com.simplemobiletools.commons.helpers.SimpleContactsHelper
import com.simplemobiletools.commons.views.MyRecyclerView
import com.simplemobiletools.smsmessenger.activities.SimpleActivity
import com.simplemobiletools.smsmessenger.databinding.ItemSearchResultBinding
import com.simplemobiletools.smsmessenger.models.SearchResult
import org.fossify.commons.adapters.MyRecyclerViewAdapter
import org.fossify.commons.extensions.getTextSize
import org.fossify.commons.extensions.highlightTextPart
import org.fossify.commons.helpers.SimpleContactsHelper
import org.fossify.commons.views.MyRecyclerView
import org.fossify.smsmessenger.activities.SimpleActivity
import org.fossify.smsmessenger.databinding.ItemSearchResultBinding
import org.fossify.smsmessenger.models.SearchResult
class SearchResultsAdapter(
activity: SimpleActivity, var searchResults: ArrayList<SearchResult>, recyclerView: MyRecyclerView, highlightText: String, itemClick: (Any) -> Unit

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.adapters
package org.fossify.smsmessenger.adapters
import android.annotation.SuppressLint
import android.content.Intent
@ -28,27 +28,27 @@ import com.bumptech.glide.load.resource.bitmap.FitCenter
import com.bumptech.glide.request.RequestListener
import com.bumptech.glide.request.RequestOptions
import com.bumptech.glide.request.target.Target
import com.simplemobiletools.commons.adapters.MyRecyclerViewListAdapter
import com.simplemobiletools.commons.dialogs.ConfirmationDialog
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.SimpleContactsHelper
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.commons.views.MyRecyclerView
import com.simplemobiletools.smsmessenger.R
import com.simplemobiletools.smsmessenger.activities.NewConversationActivity
import com.simplemobiletools.smsmessenger.activities.SimpleActivity
import com.simplemobiletools.smsmessenger.activities.ThreadActivity
import com.simplemobiletools.smsmessenger.activities.VCardViewerActivity
import com.simplemobiletools.smsmessenger.databinding.*
import com.simplemobiletools.smsmessenger.dialogs.DeleteConfirmationDialog
import com.simplemobiletools.smsmessenger.dialogs.MessageDetailsDialog
import com.simplemobiletools.smsmessenger.dialogs.SelectTextDialog
import com.simplemobiletools.smsmessenger.extensions.*
import com.simplemobiletools.smsmessenger.helpers.*
import com.simplemobiletools.smsmessenger.models.Attachment
import com.simplemobiletools.smsmessenger.models.Message
import com.simplemobiletools.smsmessenger.models.ThreadItem
import com.simplemobiletools.smsmessenger.models.ThreadItem.*
import org.fossify.commons.adapters.MyRecyclerViewListAdapter
import org.fossify.commons.dialogs.ConfirmationDialog
import org.fossify.commons.extensions.*
import org.fossify.commons.helpers.SimpleContactsHelper
import org.fossify.commons.helpers.ensureBackgroundThread
import org.fossify.commons.views.MyRecyclerView
import org.fossify.smsmessenger.R
import org.fossify.smsmessenger.activities.NewConversationActivity
import org.fossify.smsmessenger.activities.SimpleActivity
import org.fossify.smsmessenger.activities.ThreadActivity
import org.fossify.smsmessenger.activities.VCardViewerActivity
import org.fossify.smsmessenger.databinding.*
import org.fossify.smsmessenger.dialogs.DeleteConfirmationDialog
import org.fossify.smsmessenger.dialogs.MessageDetailsDialog
import org.fossify.smsmessenger.dialogs.SelectTextDialog
import org.fossify.smsmessenger.extensions.*
import org.fossify.smsmessenger.helpers.*
import org.fossify.smsmessenger.models.Attachment
import org.fossify.smsmessenger.models.Message
import org.fossify.smsmessenger.models.ThreadItem
import org.fossify.smsmessenger.models.ThreadItem.*
class ThreadAdapter(
activity: SimpleActivity,
@ -203,9 +203,9 @@ class ThreadAdapter(
}
val baseString = if (activity.config.useRecycleBin && !isRecycleBin) {
com.simplemobiletools.commons.R.string.move_to_recycle_bin_confirmation
org.fossify.commons.R.string.move_to_recycle_bin_confirmation
} else {
com.simplemobiletools.commons.R.string.deletion_confirmation
org.fossify.commons.R.string.deletion_confirmation
}
val question = String.format(resources.getString(baseString), items)
@ -384,7 +384,7 @@ class ThreadAdapter(
if (message.isScheduled) {
typeface = Typeface.create(Typeface.DEFAULT, Typeface.ITALIC)
val scheduledDrawable = AppCompatResources.getDrawable(activity, com.simplemobiletools.commons.R.drawable.ic_clock_vector)?.apply {
val scheduledDrawable = AppCompatResources.getDrawable(activity, org.fossify.commons.R.drawable.ic_clock_vector)?.apply {
applyColorFilter(contrastColor)
val size = lineHeight
setBounds(0, 0, size, size)
@ -523,7 +523,7 @@ class ThreadAdapter(
private fun setupThreadSuccess(view: View, isDelivered: Boolean) {
ItemThreadSuccessBinding.bind(view).apply {
threadSuccess.setImageResource(if (isDelivered) R.drawable.ic_check_double_vector else com.simplemobiletools.commons.R.drawable.ic_check_vector)
threadSuccess.setImageResource(if (isDelivered) R.drawable.ic_check_double_vector else org.fossify.commons.R.drawable.ic_check_vector)
threadSuccess.applyColorFilter(textColor)
}
}

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.adapters
package org.fossify.smsmessenger.adapters
import android.util.TypedValue
import android.view.ViewGroup
@ -9,14 +9,14 @@ import com.bumptech.glide.load.engine.DiskCacheStrategy
import com.bumptech.glide.load.resource.bitmap.RoundedCorners
import com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions
import com.bumptech.glide.request.RequestOptions
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.SimpleContactsHelper
import com.simplemobiletools.smsmessenger.R
import com.simplemobiletools.smsmessenger.activities.SimpleActivity
import com.simplemobiletools.smsmessenger.databinding.ItemVcardContactBinding
import com.simplemobiletools.smsmessenger.databinding.ItemVcardContactPropertyBinding
import com.simplemobiletools.smsmessenger.models.VCardPropertyWrapper
import com.simplemobiletools.smsmessenger.models.VCardWrapper
import org.fossify.commons.extensions.*
import org.fossify.commons.helpers.SimpleContactsHelper
import org.fossify.smsmessenger.R
import org.fossify.smsmessenger.activities.SimpleActivity
import org.fossify.smsmessenger.databinding.ItemVcardContactBinding
import org.fossify.smsmessenger.databinding.ItemVcardContactPropertyBinding
import org.fossify.smsmessenger.models.VCardPropertyWrapper
import org.fossify.smsmessenger.models.VCardWrapper
private const val TYPE_VCARD_CONTACT = 1
private const val TYPE_VCARD_CONTACT_PROPERTY = 2
@ -44,9 +44,11 @@ class VCardViewerAdapter(
TYPE_VCARD_CONTACT -> VCardContactViewHolder(
binding = ItemVcardContactBinding.inflate(layoutInflater, parent, false)
)
TYPE_VCARD_CONTACT_PROPERTY -> VCardPropertyViewHolder(
binding = ItemVcardContactPropertyBinding.inflate(layoutInflater, parent, false)
)
else -> throw IllegalArgumentException("Unexpected type: $viewType")
}
}
@ -76,7 +78,7 @@ class VCardViewerAdapter(
null
}
val roundingRadius = resources.getDimensionPixelSize(com.simplemobiletools.commons.R.dimen.big_margin)
val roundingRadius = resources.getDimensionPixelSize(org.fossify.commons.R.dimen.big_margin)
val transformation = RoundedCorners(roundingRadius)
val options = RequestOptions()
.diskCacheStrategy(DiskCacheStrategy.RESOURCE)

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.databases
package org.fossify.smsmessenger.databases
import android.content.Context
import androidx.room.Database
@ -7,12 +7,12 @@ import androidx.room.RoomDatabase
import androidx.room.TypeConverters
import androidx.room.migration.Migration
import androidx.sqlite.db.SupportSQLiteDatabase
import com.simplemobiletools.smsmessenger.helpers.Converters
import com.simplemobiletools.smsmessenger.interfaces.AttachmentsDao
import com.simplemobiletools.smsmessenger.interfaces.ConversationsDao
import com.simplemobiletools.smsmessenger.interfaces.MessageAttachmentsDao
import com.simplemobiletools.smsmessenger.interfaces.MessagesDao
import com.simplemobiletools.smsmessenger.models.*
import org.fossify.smsmessenger.helpers.Converters
import org.fossify.smsmessenger.interfaces.AttachmentsDao
import org.fossify.smsmessenger.interfaces.ConversationsDao
import org.fossify.smsmessenger.interfaces.MessageAttachmentsDao
import org.fossify.smsmessenger.interfaces.MessagesDao
import org.fossify.smsmessenger.models.*
@Database(entities = [Conversation::class, Attachment::class, MessageAttachment::class, Message::class, RecycleBinMessage::class], version = 8)
@TypeConverters(Converters::class)

View file

@ -1,13 +1,13 @@
package com.simplemobiletools.smsmessenger.dialogs
package org.fossify.smsmessenger.dialogs
import androidx.appcompat.app.AlertDialog
import com.simplemobiletools.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.extensions.getAlertDialogBuilder
import com.simplemobiletools.commons.extensions.setupDialogStuff
import com.simplemobiletools.commons.extensions.showKeyboard
import com.simplemobiletools.commons.extensions.value
import com.simplemobiletools.smsmessenger.databinding.DialogAddBlockedKeywordBinding
import com.simplemobiletools.smsmessenger.extensions.config
import org.fossify.commons.activities.BaseSimpleActivity
import org.fossify.commons.extensions.getAlertDialogBuilder
import org.fossify.commons.extensions.setupDialogStuff
import org.fossify.commons.extensions.showKeyboard
import org.fossify.commons.extensions.value
import org.fossify.smsmessenger.databinding.DialogAddBlockedKeywordBinding
import org.fossify.smsmessenger.extensions.config
class AddBlockedKeywordDialog(val activity: BaseSimpleActivity, private val originalKeyword: String? = null, val callback: () -> Unit) {
init {
@ -18,8 +18,8 @@ class AddBlockedKeywordDialog(val activity: BaseSimpleActivity, private val orig
}
activity.getAlertDialogBuilder()
.setPositiveButton(com.simplemobiletools.commons.R.string.ok, null)
.setNegativeButton(com.simplemobiletools.commons.R.string.cancel, null)
.setPositiveButton(org.fossify.commons.R.string.ok, null)
.setNegativeButton(org.fossify.commons.R.string.cancel, null)
.apply {
activity.setupDialogStuff(binding.root, this) { alertDialog ->
alertDialog.showKeyboard(binding.addBlockedKeywordEdittext)

View file

@ -1,11 +1,11 @@
package com.simplemobiletools.smsmessenger.dialogs
package org.fossify.smsmessenger.dialogs
import android.app.Activity
import androidx.appcompat.app.AlertDialog
import com.simplemobiletools.commons.extensions.beGoneIf
import com.simplemobiletools.commons.extensions.getAlertDialogBuilder
import com.simplemobiletools.commons.extensions.setupDialogStuff
import com.simplemobiletools.smsmessenger.databinding.DialogDeleteConfirmationBinding
import org.fossify.commons.extensions.beGoneIf
import org.fossify.commons.extensions.getAlertDialogBuilder
import org.fossify.commons.extensions.setupDialogStuff
import org.fossify.smsmessenger.databinding.DialogDeleteConfirmationBinding
class DeleteConfirmationDialog(
private val activity: Activity,
@ -21,8 +21,8 @@ class DeleteConfirmationDialog(
binding.deleteRememberTitle.text = message
binding.skipTheRecycleBinCheckbox.beGoneIf(!showSkipRecycleBinOption)
activity.getAlertDialogBuilder()
.setPositiveButton(com.simplemobiletools.commons.R.string.yes) { _, _ -> dialogConfirmed() }
.setNegativeButton(com.simplemobiletools.commons.R.string.no, null)
.setPositiveButton(org.fossify.commons.R.string.yes) { _, _ -> dialogConfirmed() }
.setNegativeButton(org.fossify.commons.R.string.no, null)
.apply {
activity.setupDialogStuff(binding.root, this) { alertDialog ->
dialog = alertDialog

View file

@ -1,11 +1,11 @@
package com.simplemobiletools.smsmessenger.dialogs
package org.fossify.smsmessenger.dialogs
import androidx.appcompat.app.AlertDialog
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.smsmessenger.R
import com.simplemobiletools.smsmessenger.activities.SimpleActivity
import com.simplemobiletools.smsmessenger.databinding.DialogExportMessagesBinding
import com.simplemobiletools.smsmessenger.extensions.config
import org.fossify.commons.extensions.*
import org.fossify.smsmessenger.R
import org.fossify.smsmessenger.activities.SimpleActivity
import org.fossify.smsmessenger.databinding.DialogExportMessagesBinding
import org.fossify.smsmessenger.extensions.config
class ExportMessagesDialog(
private val activity: SimpleActivity,
@ -23,8 +23,8 @@ class ExportMessagesDialog(
}
activity.getAlertDialogBuilder()
.setPositiveButton(com.simplemobiletools.commons.R.string.ok, null)
.setNegativeButton(com.simplemobiletools.commons.R.string.cancel, null)
.setPositiveButton(org.fossify.commons.R.string.ok, null)
.setNegativeButton(org.fossify.commons.R.string.cancel, null)
.apply {
activity.setupDialogStuff(binding.root, this, R.string.export_messages) { alertDialog ->
alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener {
@ -32,13 +32,13 @@ class ExportMessagesDialog(
config.exportMms = binding.exportMmsCheckbox.isChecked
val filename = binding.exportMessagesFilename.value
when {
filename.isEmpty() -> activity.toast(com.simplemobiletools.commons.R.string.empty_name)
filename.isEmpty() -> activity.toast(org.fossify.commons.R.string.empty_name)
filename.isAValidFilename() -> {
callback(filename)
alertDialog.dismiss()
}
else -> activity.toast(com.simplemobiletools.commons.R.string.invalid_name)
else -> activity.toast(org.fossify.commons.R.string.invalid_name)
}
}
}

View file

@ -1,17 +1,17 @@
package com.simplemobiletools.smsmessenger.dialogs
package org.fossify.smsmessenger.dialogs
import androidx.appcompat.app.AlertDialog
import com.simplemobiletools.commons.extensions.getAlertDialogBuilder
import com.simplemobiletools.commons.extensions.setupDialogStuff
import com.simplemobiletools.commons.extensions.toast
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.smsmessenger.R
import com.simplemobiletools.smsmessenger.activities.SimpleActivity
import com.simplemobiletools.smsmessenger.databinding.DialogImportMessagesBinding
import com.simplemobiletools.smsmessenger.extensions.config
import com.simplemobiletools.smsmessenger.helpers.MessagesImporter
import com.simplemobiletools.smsmessenger.models.ImportResult
import com.simplemobiletools.smsmessenger.models.MessagesBackup
import org.fossify.commons.extensions.getAlertDialogBuilder
import org.fossify.commons.extensions.setupDialogStuff
import org.fossify.commons.extensions.toast
import org.fossify.commons.helpers.ensureBackgroundThread
import org.fossify.smsmessenger.R
import org.fossify.smsmessenger.activities.SimpleActivity
import org.fossify.smsmessenger.databinding.DialogImportMessagesBinding
import org.fossify.smsmessenger.extensions.config
import org.fossify.smsmessenger.helpers.MessagesImporter
import org.fossify.smsmessenger.models.ImportResult
import org.fossify.smsmessenger.models.MessagesBackup
class ImportMessagesDialog(
private val activity: SimpleActivity,
@ -28,8 +28,8 @@ class ImportMessagesDialog(
}
activity.getAlertDialogBuilder()
.setPositiveButton(com.simplemobiletools.commons.R.string.ok, null)
.setNegativeButton(com.simplemobiletools.commons.R.string.cancel, null)
.setPositiveButton(org.fossify.commons.R.string.ok, null)
.setNegativeButton(org.fossify.commons.R.string.cancel, null)
.apply {
activity.setupDialogStuff(binding.root, this, R.string.import_messages) { alertDialog ->
alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener {
@ -43,7 +43,7 @@ class ImportMessagesDialog(
}
ignoreClicks = true
activity.toast(com.simplemobiletools.commons.R.string.importing)
activity.toast(org.fossify.commons.R.string.importing)
config.importSms = binding.importSmsCheckbox.isChecked
config.importMms = binding.importMmsCheckbox.isChecked
ensureBackgroundThread {
@ -60,10 +60,10 @@ class ImportMessagesDialog(
private fun handleParseResult(result: ImportResult) {
activity.toast(
when (result) {
ImportResult.IMPORT_OK -> com.simplemobiletools.commons.R.string.importing_successful
ImportResult.IMPORT_PARTIAL -> com.simplemobiletools.commons.R.string.importing_some_entries_failed
ImportResult.IMPORT_FAIL -> com.simplemobiletools.commons.R.string.importing_failed
else -> com.simplemobiletools.commons.R.string.no_items_found
ImportResult.IMPORT_OK -> org.fossify.commons.R.string.importing_successful
ImportResult.IMPORT_PARTIAL -> org.fossify.commons.R.string.importing_some_entries_failed
ImportResult.IMPORT_FAIL -> org.fossify.commons.R.string.importing_failed
else -> org.fossify.commons.R.string.no_items_found
}
)
}

View file

@ -0,0 +1,20 @@
package org.fossify.smsmessenger.dialogs
import org.fossify.commons.activities.BaseSimpleActivity
import org.fossify.commons.extensions.getAlertDialogBuilder
import org.fossify.commons.extensions.setupDialogStuff
import org.fossify.smsmessenger.databinding.DialogInvalidNumberBinding
class InvalidNumberDialog(val activity: BaseSimpleActivity, val text: String) {
init {
val binding = DialogInvalidNumberBinding.inflate(activity.layoutInflater).apply {
dialogInvalidNumberDesc.text = text
}
activity.getAlertDialogBuilder()
.setPositiveButton(org.fossify.commons.R.string.ok) { _, _ -> { } }
.apply {
activity.setupDialogStuff(binding.root, this)
}
}
}

View file

@ -1,18 +1,18 @@
package com.simplemobiletools.smsmessenger.dialogs
package org.fossify.smsmessenger.dialogs
import android.view.*
import android.widget.PopupMenu
import com.simplemobiletools.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter
import com.simplemobiletools.commons.extensions.copyToClipboard
import com.simplemobiletools.commons.extensions.getPopupMenuTheme
import com.simplemobiletools.commons.extensions.getProperTextColor
import com.simplemobiletools.commons.extensions.setupViewBackground
import com.simplemobiletools.commons.interfaces.RefreshRecyclerViewListener
import com.simplemobiletools.commons.views.MyRecyclerView
import com.simplemobiletools.smsmessenger.R
import com.simplemobiletools.smsmessenger.databinding.ItemManageBlockedKeywordBinding
import com.simplemobiletools.smsmessenger.extensions.config
import org.fossify.commons.activities.BaseSimpleActivity
import org.fossify.commons.adapters.MyRecyclerViewAdapter
import org.fossify.commons.extensions.copyToClipboard
import org.fossify.commons.extensions.getPopupMenuTheme
import org.fossify.commons.extensions.getProperTextColor
import org.fossify.commons.extensions.setupViewBackground
import org.fossify.commons.interfaces.RefreshRecyclerViewListener
import org.fossify.commons.views.MyRecyclerView
import org.fossify.smsmessenger.R
import org.fossify.smsmessenger.databinding.ItemManageBlockedKeywordBinding
import org.fossify.smsmessenger.extensions.config
class ManageBlockedKeywordsAdapter(
activity: BaseSimpleActivity, var blockedKeywords: ArrayList<String>, val listener: RefreshRecyclerViewListener?,

View file

@ -1,14 +1,16 @@
package com.simplemobiletools.smsmessenger.dialogs
package org.fossify.smsmessenger.dialogs
import android.annotation.SuppressLint
import android.telephony.SubscriptionInfo
import com.simplemobiletools.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.dialogs.BasePropertiesDialog
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.smsmessenger.R
import com.simplemobiletools.smsmessenger.extensions.config
import com.simplemobiletools.smsmessenger.extensions.subscriptionManagerCompat
import com.simplemobiletools.smsmessenger.models.Message
import org.fossify.commons.activities.BaseSimpleActivity
import org.fossify.commons.dialogs.BasePropertiesDialog
import org.fossify.commons.extensions.getAlertDialogBuilder
import org.fossify.commons.extensions.getTimeFormat
import org.fossify.commons.extensions.setupDialogStuff
import org.fossify.smsmessenger.R
import org.fossify.smsmessenger.extensions.config
import org.fossify.smsmessenger.extensions.subscriptionManagerCompat
import org.fossify.smsmessenger.models.Message
import org.joda.time.DateTime
class MessageDetailsDialog(val activity: BaseSimpleActivity, val message: Message) : BasePropertiesDialog(activity) {
@ -23,7 +25,7 @@ class MessageDetailsDialog(val activity: BaseSimpleActivity, val message: Messag
addProperty(message.getSentOrReceivedAtLabel(), message.getSentOrReceivedAt())
activity.getAlertDialogBuilder()
.setPositiveButton(com.simplemobiletools.commons.R.string.ok) { _, _ -> }
.setPositiveButton(org.fossify.commons.R.string.ok) { _, _ -> }
.apply {
activity.setupDialogStuff(mDialogView.root, this, R.string.message_details)
}
@ -57,7 +59,7 @@ class MessageDetailsDialog(val activity: BaseSimpleActivity, val message: Messag
private fun Message.getSIM(availableSIMs: List<SubscriptionInfo>): String {
return availableSIMs.firstOrNull { it.subscriptionId == subscriptionId }?.displayName?.toString()
?: activity.getString(com.simplemobiletools.commons.R.string.unknown)
?: activity.getString(org.fossify.commons.R.string.unknown)
}
private fun Message.getSentOrReceivedAtLabel(): Int {

View file

@ -1,15 +1,15 @@
package com.simplemobiletools.smsmessenger.dialogs
package org.fossify.smsmessenger.dialogs
import android.app.Activity
import android.content.DialogInterface.BUTTON_POSITIVE
import androidx.appcompat.app.AlertDialog
import com.simplemobiletools.commons.extensions.getAlertDialogBuilder
import com.simplemobiletools.commons.extensions.setupDialogStuff
import com.simplemobiletools.commons.extensions.showKeyboard
import com.simplemobiletools.commons.extensions.toast
import com.simplemobiletools.smsmessenger.R
import com.simplemobiletools.smsmessenger.databinding.DialogRenameConversationBinding
import com.simplemobiletools.smsmessenger.models.Conversation
import org.fossify.commons.extensions.getAlertDialogBuilder
import org.fossify.commons.extensions.setupDialogStuff
import org.fossify.commons.extensions.showKeyboard
import org.fossify.commons.extensions.toast
import org.fossify.smsmessenger.R
import org.fossify.smsmessenger.databinding.DialogRenameConversationBinding
import org.fossify.smsmessenger.models.Conversation
class RenameConversationDialog(
private val activity: Activity,
@ -30,8 +30,8 @@ class RenameConversationDialog(
}
activity.getAlertDialogBuilder()
.setPositiveButton(com.simplemobiletools.commons.R.string.ok, null)
.setNegativeButton(com.simplemobiletools.commons.R.string.cancel, null)
.setPositiveButton(org.fossify.commons.R.string.ok, null)
.setNegativeButton(org.fossify.commons.R.string.cancel, null)
.apply {
activity.setupDialogStuff(binding.root, this, R.string.rename_conversation) { alertDialog ->
dialog = alertDialog
@ -40,7 +40,7 @@ class RenameConversationDialog(
setOnClickListener {
val newTitle = binding.renameConvEditText.text.toString()
if (newTitle.isEmpty()) {
activity.toast(com.simplemobiletools.commons.R.string.empty_name)
activity.toast(org.fossify.commons.R.string.empty_name)
return@setOnClickListener
}

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.dialogs
package org.fossify.smsmessenger.dialogs
import android.app.DatePickerDialog
import android.app.DatePickerDialog.OnDateSetListener
@ -8,12 +8,12 @@ import android.text.format.DateFormat
import androidx.appcompat.app.AlertDialog
import com.google.android.material.timepicker.MaterialTimePicker
import com.google.android.material.timepicker.TimeFormat
import com.simplemobiletools.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.smsmessenger.R
import com.simplemobiletools.smsmessenger.databinding.ScheduleMessageDialogBinding
import com.simplemobiletools.smsmessenger.extensions.config
import com.simplemobiletools.smsmessenger.extensions.roundToClosestMultipleOf
import org.fossify.commons.activities.BaseSimpleActivity
import org.fossify.commons.extensions.*
import org.fossify.smsmessenger.R
import org.fossify.smsmessenger.databinding.ScheduleMessageDialogBinding
import org.fossify.smsmessenger.extensions.config
import org.fossify.smsmessenger.extensions.roundToClosestMultipleOf
import org.joda.time.DateTime
import java.util.Calendar
@ -66,8 +66,8 @@ class ScheduleMessageDialog(
}
activity.getAlertDialogBuilder()
.setPositiveButton(com.simplemobiletools.commons.R.string.ok, null)
.setNegativeButton(com.simplemobiletools.commons.R.string.cancel, null)
.setPositiveButton(org.fossify.commons.R.string.ok, null)
.setNegativeButton(org.fossify.commons.R.string.cancel, null)
.apply {
previewShown = true
activity.setupDialogStuff(binding.root, this, R.string.schedule_message) { dialog ->
@ -99,7 +99,7 @@ class ScheduleMessageDialog(
datePicker.minDate = System.currentTimeMillis()
show()
getButton(AlertDialog.BUTTON_NEGATIVE).apply {
text = activity.getString(com.simplemobiletools.commons.R.string.cancel)
text = activity.getString(org.fossify.commons.R.string.cancel)
setOnClickListener {
dismiss()
}
@ -136,7 +136,7 @@ class ScheduleMessageDialog(
).apply {
show()
getButton(AlertDialog.BUTTON_NEGATIVE).apply {
text = activity.getString(com.simplemobiletools.commons.R.string.cancel)
text = activity.getString(org.fossify.commons.R.string.cancel)
setOnClickListener {
dismiss()
}

View file

@ -1,9 +1,9 @@
package com.simplemobiletools.smsmessenger.dialogs
package org.fossify.smsmessenger.dialogs
import com.simplemobiletools.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.extensions.getAlertDialogBuilder
import com.simplemobiletools.commons.extensions.setupDialogStuff
import com.simplemobiletools.smsmessenger.databinding.DialogSelectTextBinding
import org.fossify.commons.activities.BaseSimpleActivity
import org.fossify.commons.extensions.getAlertDialogBuilder
import org.fossify.commons.extensions.setupDialogStuff
import org.fossify.smsmessenger.databinding.DialogSelectTextBinding
// helper dialog for selecting just a part of a message, not copying the whole into clipboard
class SelectTextDialog(val activity: BaseSimpleActivity, val text: String) {
@ -13,7 +13,7 @@ class SelectTextDialog(val activity: BaseSimpleActivity, val text: String) {
}
activity.getAlertDialogBuilder()
.setPositiveButton(com.simplemobiletools.commons.R.string.ok) { _, _ -> { } }
.setPositiveButton(org.fossify.commons.R.string.ok) { _, _ -> { } }
.apply {
activity.setupDialogStuff(binding.root, this)
}

View file

@ -1,16 +1,16 @@
package com.simplemobiletools.smsmessenger.extensions
package org.fossify.smsmessenger.extensions
import android.app.Activity
import android.content.ActivityNotFoundException
import android.content.Intent
import android.net.Uri
import android.provider.ContactsContract
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.CONTACT_ID
import com.simplemobiletools.commons.helpers.IS_PRIVATE
import com.simplemobiletools.commons.helpers.SimpleContactsHelper
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.commons.models.SimpleContact
import org.fossify.commons.extensions.*
import org.fossify.commons.helpers.CONTACT_ID
import org.fossify.commons.helpers.IS_PRIVATE
import org.fossify.commons.helpers.SimpleContactsHelper
import org.fossify.commons.helpers.ensureBackgroundThread
import org.fossify.commons.models.SimpleContact
import java.util.Locale
fun Activity.dialNumber(phoneNumber: String, callback: (() -> Unit)? = null) {
@ -22,7 +22,7 @@ fun Activity.dialNumber(phoneNumber: String, callback: (() -> Unit)? = null) {
startActivity(this)
callback?.invoke()
} catch (e: ActivityNotFoundException) {
toast(com.simplemobiletools.commons.R.string.no_app_found)
toast(org.fossify.commons.R.string.no_app_found)
} catch (e: Exception) {
showErrorToast(e)
}
@ -43,7 +43,7 @@ fun Activity.launchViewIntent(uri: Uri, mimetype: String, filename: String) {
if (newMimetype.isNotEmpty() && mimetype != newMimetype) {
launchViewIntent(uri, newMimetype, filename)
} else {
toast(com.simplemobiletools.commons.R.string.no_app_found)
toast(org.fossify.commons.R.string.no_app_found)
}
} catch (e: Exception) {
showErrorToast(e)

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.extensions
package org.fossify.smsmessenger.extensions
import android.graphics.Bitmap

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.extensions
package org.fossify.smsmessenger.extensions
import android.content.ContentValues

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.extensions
package org.fossify.smsmessenger.extensions
import android.annotation.SuppressLint
import android.app.Application
@ -20,23 +20,23 @@ import android.text.TextUtils
import com.bumptech.glide.Glide
import com.bumptech.glide.load.engine.DiskCacheStrategy
import com.bumptech.glide.request.RequestOptions
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.*
import com.simplemobiletools.commons.models.PhoneNumber
import com.simplemobiletools.commons.models.SimpleContact
import com.simplemobiletools.smsmessenger.R
import com.simplemobiletools.smsmessenger.databases.MessagesDatabase
import com.simplemobiletools.smsmessenger.helpers.*
import com.simplemobiletools.smsmessenger.helpers.AttachmentUtils.parseAttachmentNames
import com.simplemobiletools.smsmessenger.interfaces.AttachmentsDao
import com.simplemobiletools.smsmessenger.interfaces.ConversationsDao
import com.simplemobiletools.smsmessenger.interfaces.MessageAttachmentsDao
import com.simplemobiletools.smsmessenger.interfaces.MessagesDao
import com.simplemobiletools.smsmessenger.messaging.MessagingUtils
import com.simplemobiletools.smsmessenger.messaging.MessagingUtils.Companion.ADDRESS_SEPARATOR
import com.simplemobiletools.smsmessenger.messaging.SmsSender
import com.simplemobiletools.smsmessenger.models.*
import me.leolin.shortcutbadger.ShortcutBadger
import org.fossify.commons.extensions.*
import org.fossify.commons.helpers.*
import org.fossify.commons.models.PhoneNumber
import org.fossify.commons.models.SimpleContact
import org.fossify.smsmessenger.R
import org.fossify.smsmessenger.databases.MessagesDatabase
import org.fossify.smsmessenger.helpers.*
import org.fossify.smsmessenger.helpers.AttachmentUtils.parseAttachmentNames
import org.fossify.smsmessenger.interfaces.AttachmentsDao
import org.fossify.smsmessenger.interfaces.ConversationsDao
import org.fossify.smsmessenger.interfaces.MessageAttachmentsDao
import org.fossify.smsmessenger.interfaces.MessagesDao
import org.fossify.smsmessenger.messaging.MessagingUtils
import org.fossify.smsmessenger.messaging.MessagingUtils.Companion.ADDRESS_SEPARATOR
import org.fossify.smsmessenger.messaging.SmsSender
import org.fossify.smsmessenger.models.*
import java.io.FileNotFoundException
val Context.config: Config get() = Config.newInstance(applicationContext)
@ -666,7 +666,7 @@ fun Context.removeAllArchivedConversations(callback: (() -> Unit)? = null) {
toast(R.string.archive_emptied_successfully)
callback?.invoke()
} catch (e: Exception) {
toast(com.simplemobiletools.commons.R.string.unknown_error_occurred)
toast(org.fossify.commons.R.string.unknown_error_occurred)
}
}
}

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.extensions
package org.fossify.smsmessenger.extensions
import android.database.Cursor
import com.google.gson.JsonNull

View file

@ -1,7 +1,7 @@
package com.simplemobiletools.smsmessenger.extensions
package org.fossify.smsmessenger.extensions
import android.text.format.DateFormat
import java.util.*
import java.util.Date
fun Date.format(pattern: String): String {
return DateFormat.format(pattern, this).toString()

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.extensions
package org.fossify.smsmessenger.extensions
import kotlin.math.roundToInt

View file

@ -1,7 +1,7 @@
package com.simplemobiletools.smsmessenger.extensions
package org.fossify.smsmessenger.extensions
import android.text.TextUtils
import com.simplemobiletools.commons.models.SimpleContact
import org.fossify.commons.models.SimpleContact
fun ArrayList<SimpleContact>.getThreadTitle(): String = TextUtils.join(", ", map { it.name }.toTypedArray()).orEmpty()

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.extensions
package org.fossify.smsmessenger.extensions
fun String.getExtensionFromMimeType(): String {
return when (lowercase()) {

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.extensions
package org.fossify.smsmessenger.extensions
import android.animation.ObjectAnimator
import android.view.View

View file

@ -0,0 +1,9 @@
package org.fossify.smsmessenger.extensions.gson
import com.google.gson.Gson
import com.google.gson.GsonBuilder
import com.google.gson.reflect.TypeToken
private val gsonBuilder = GsonBuilder().registerTypeAdapter(object : TypeToken<Map<String, Any>>() {}.type, MapDeserializerDoubleAsIntFix())
val gson: Gson = gsonBuilder.create()

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.extensions.gson
package org.fossify.smsmessenger.extensions.gson
import com.google.gson.*
import java.math.BigDecimal

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.extensions.gson
package org.fossify.smsmessenger.extensions.gson
import com.google.gson.JsonArray
import com.google.gson.JsonElement

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.extensions.gson
package org.fossify.smsmessenger.extensions.gson
import com.google.gson.JsonDeserializationContext
import com.google.gson.JsonDeserializer
@ -25,6 +25,7 @@ class MapDeserializerDoubleAsIntFix : JsonDeserializer<Map<String, Any>?> {
}
return list
}
element.isJsonObject -> {
val map: MutableMap<String, Any?> = LinkedTreeMap()
val obj = element.asJsonObject
@ -34,15 +35,18 @@ class MapDeserializerDoubleAsIntFix : JsonDeserializer<Map<String, Any>?> {
}
return map
}
element.isJsonPrimitive -> {
val prim = element.asJsonPrimitive
when {
prim.isBoolean -> {
return prim.asBoolean
}
prim.isString -> {
return prim.asString
}
prim.isNumber -> {
val num = prim.asNumber
// here you can handle double int/long values

View file

@ -1,16 +1,16 @@
package com.simplemobiletools.smsmessenger.helpers
package org.fossify.smsmessenger.helpers
import android.app.Activity
import android.net.Uri
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.SimpleContactsHelper
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.smsmessenger.R
import com.simplemobiletools.smsmessenger.databinding.ItemAttachmentDocumentBinding
import com.simplemobiletools.smsmessenger.databinding.ItemAttachmentDocumentPreviewBinding
import com.simplemobiletools.smsmessenger.databinding.ItemAttachmentVcardBinding
import com.simplemobiletools.smsmessenger.databinding.ItemAttachmentVcardPreviewBinding
import com.simplemobiletools.smsmessenger.extensions.*
import org.fossify.commons.extensions.*
import org.fossify.commons.helpers.SimpleContactsHelper
import org.fossify.commons.helpers.ensureBackgroundThread
import org.fossify.smsmessenger.R
import org.fossify.smsmessenger.databinding.ItemAttachmentDocumentBinding
import org.fossify.smsmessenger.databinding.ItemAttachmentDocumentPreviewBinding
import org.fossify.smsmessenger.databinding.ItemAttachmentVcardBinding
import org.fossify.smsmessenger.databinding.ItemAttachmentVcardPreviewBinding
import org.fossify.smsmessenger.extensions.*
fun ItemAttachmentDocumentPreviewBinding.setupDocumentPreview(
uri: Uri,
@ -124,7 +124,7 @@ fun ItemAttachmentVcardBinding.setupVCardPreview(
activity.runOnUiThread {
if (vCards.isEmpty()) {
vcardTitle.beVisible()
vcardTitle.text = context.getString(com.simplemobiletools.commons.R.string.unknown_error_occurred)
vcardTitle.text = context.getString(org.fossify.commons.R.string.unknown_error_occurred)
return@runOnUiThread
}

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.helpers
package org.fossify.smsmessenger.helpers
import android.util.Xml
import org.xmlpull.v1.XmlPullParser

View file

@ -1,9 +1,9 @@
package com.simplemobiletools.smsmessenger.helpers
package org.fossify.smsmessenger.helpers
import android.content.Context
import com.simplemobiletools.commons.helpers.BaseConfig
import com.simplemobiletools.smsmessenger.extensions.getDefaultKeyboardHeight
import com.simplemobiletools.smsmessenger.models.Conversation
import org.fossify.commons.helpers.BaseConfig
import org.fossify.smsmessenger.extensions.getDefaultKeyboardHeight
import org.fossify.smsmessenger.models.Conversation
class Config(context: Context) : BaseConfig(context) {
companion object {

View file

@ -1,6 +1,6 @@
package com.simplemobiletools.smsmessenger.helpers
package org.fossify.smsmessenger.helpers
import com.simplemobiletools.smsmessenger.models.Events
import org.fossify.smsmessenger.models.Events
import org.greenrobot.eventbus.EventBus
import org.joda.time.DateTime
import org.joda.time.DateTimeZone
@ -45,7 +45,7 @@ const val LAST_RECYCLE_BIN_CHECK = "last_recycle_bin_check"
const val IS_RECYCLE_BIN = "is_recycle_bin"
const val IS_ARCHIVE_AVAILABLE = "is_archive_available"
private const val PATH = "com.simplemobiletools.smsmessenger.action."
private const val PATH = "org.fossify.smsmessenger.action."
const val MARK_AS_READ = PATH + "mark_as_read"
const val REPLY = PATH + "reply"

View file

@ -1,11 +1,11 @@
package com.simplemobiletools.smsmessenger.helpers
package org.fossify.smsmessenger.helpers
import androidx.room.TypeConverter
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
import com.simplemobiletools.commons.models.SimpleContact
import com.simplemobiletools.smsmessenger.models.Attachment
import com.simplemobiletools.smsmessenger.models.MessageAttachment
import org.fossify.commons.models.SimpleContact
import org.fossify.smsmessenger.models.Attachment
import org.fossify.smsmessenger.models.MessageAttachment
class Converters {
private val gson = Gson()

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.helpers
package org.fossify.smsmessenger.helpers
import android.content.Context
import android.graphics.Bitmap
@ -6,13 +6,13 @@ import android.graphics.BitmapFactory
import android.graphics.Matrix
import android.media.ExifInterface
import android.net.Uri
import com.simplemobiletools.commons.extensions.getCompressionFormat
import com.simplemobiletools.commons.extensions.getMyFileUri
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.smsmessenger.extensions.extension
import com.simplemobiletools.smsmessenger.extensions.getExtensionFromMimeType
import com.simplemobiletools.smsmessenger.extensions.getFileSizeFromUri
import com.simplemobiletools.smsmessenger.extensions.isImageMimeType
import org.fossify.commons.extensions.getCompressionFormat
import org.fossify.commons.extensions.getMyFileUri
import org.fossify.commons.helpers.ensureBackgroundThread
import org.fossify.smsmessenger.extensions.extension
import org.fossify.smsmessenger.extensions.getExtensionFromMimeType
import org.fossify.smsmessenger.extensions.getFileSizeFromUri
import org.fossify.smsmessenger.extensions.isImageMimeType
import java.io.File
import java.io.FileOutputStream
import kotlin.math.roundToInt

View file

@ -1,16 +1,16 @@
package com.simplemobiletools.smsmessenger.helpers
package org.fossify.smsmessenger.helpers
import android.net.Uri
import android.util.Xml
import com.simplemobiletools.commons.extensions.showErrorToast
import com.simplemobiletools.commons.extensions.toast
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.smsmessenger.activities.SimpleActivity
import com.simplemobiletools.smsmessenger.dialogs.ImportMessagesDialog
import com.simplemobiletools.smsmessenger.extensions.config
import com.simplemobiletools.smsmessenger.models.*
import kotlinx.serialization.SerializationException
import kotlinx.serialization.json.Json
import org.fossify.commons.extensions.showErrorToast
import org.fossify.commons.extensions.toast
import org.fossify.commons.helpers.ensureBackgroundThread
import org.fossify.smsmessenger.activities.SimpleActivity
import org.fossify.smsmessenger.dialogs.ImportMessagesDialog
import org.fossify.smsmessenger.extensions.config
import org.fossify.smsmessenger.models.*
import org.xmlpull.v1.XmlPullParser
import java.io.InputStream
@ -27,7 +27,7 @@ class MessagesImporter(private val activity: SimpleActivity) {
val fileType = activity.contentResolver.getType(uri).orEmpty()
val isXml = isXmlMimeType(fileType) || (uri.path?.endsWith("txt") == true && isFileXml(uri))
if (isXml) {
activity.toast(com.simplemobiletools.commons.R.string.importing)
activity.toast(org.fossify.commons.R.string.importing)
getInputStreamFromUri(uri)!!.importXml()
} else {
importJson(uri)
@ -45,14 +45,14 @@ class MessagesImporter(private val activity: SimpleActivity) {
val deserializedList = Json.decodeFromString<List<MessagesBackup>>(jsonString)
if (deserializedList.isEmpty()) {
activity.toast(com.simplemobiletools.commons.R.string.no_entries_for_importing)
activity.toast(org.fossify.commons.R.string.no_entries_for_importing)
return
}
ImportMessagesDialog(activity, deserializedList)
} catch (e: SerializationException) {
activity.toast(com.simplemobiletools.commons.R.string.invalid_file_format)
activity.toast(org.fossify.commons.R.string.invalid_file_format)
} catch (e: IllegalArgumentException) {
activity.toast(com.simplemobiletools.commons.R.string.invalid_file_format)
activity.toast(org.fossify.commons.R.string.invalid_file_format)
} catch (e: Exception) {
activity.showErrorToast(e)
}
@ -132,12 +132,12 @@ class MessagesImporter(private val activity: SimpleActivity) {
refreshMessages()
}
when {
messagesFailed > 0 && messagesImported > 0 -> activity.toast(com.simplemobiletools.commons.R.string.importing_some_entries_failed)
messagesFailed > 0 -> activity.toast(com.simplemobiletools.commons.R.string.importing_failed)
else -> activity.toast(com.simplemobiletools.commons.R.string.importing_successful)
messagesFailed > 0 && messagesImported > 0 -> activity.toast(org.fossify.commons.R.string.importing_some_entries_failed)
messagesFailed > 0 -> activity.toast(org.fossify.commons.R.string.importing_failed)
else -> activity.toast(org.fossify.commons.R.string.importing_successful)
}
} catch (_: Exception) {
activity.toast(com.simplemobiletools.commons.R.string.invalid_file_format)
activity.toast(org.fossify.commons.R.string.invalid_file_format)
}
}

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.helpers
package org.fossify.smsmessenger.helpers
import android.annotation.SuppressLint
import android.content.Context
@ -6,11 +6,11 @@ import android.net.Uri
import android.provider.Telephony.Mms
import android.provider.Telephony.Sms
import android.util.Base64
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.isQPlus
import com.simplemobiletools.commons.helpers.isRPlus
import com.simplemobiletools.smsmessenger.extensions.getConversationIds
import com.simplemobiletools.smsmessenger.models.*
import org.fossify.commons.extensions.*
import org.fossify.commons.helpers.isQPlus
import org.fossify.commons.helpers.isRPlus
import org.fossify.smsmessenger.extensions.getConversationIds
import org.fossify.smsmessenger.models.*
import java.io.IOException
import java.io.InputStream

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.helpers
package org.fossify.smsmessenger.helpers
import android.annotation.SuppressLint
import android.content.Context
@ -8,13 +8,13 @@ import android.provider.Telephony.Sms
import android.util.Base64
import com.google.android.mms.pdu_alt.PduHeaders
import com.klinker.android.send_message.Utils
import com.simplemobiletools.commons.extensions.getLongValue
import com.simplemobiletools.commons.extensions.queryCursor
import com.simplemobiletools.commons.helpers.isRPlus
import com.simplemobiletools.smsmessenger.models.MmsAddress
import com.simplemobiletools.smsmessenger.models.MmsBackup
import com.simplemobiletools.smsmessenger.models.MmsPart
import com.simplemobiletools.smsmessenger.models.SmsBackup
import org.fossify.commons.extensions.getLongValue
import org.fossify.commons.extensions.queryCursor
import org.fossify.commons.helpers.isRPlus
import org.fossify.smsmessenger.models.MmsAddress
import org.fossify.smsmessenger.models.MmsBackup
import org.fossify.smsmessenger.models.MmsPart
import org.fossify.smsmessenger.models.SmsBackup
class MessagesWriter(private val context: Context) {
private val INVALID_ID = -1L

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.helpers
package org.fossify.smsmessenger.helpers
import android.annotation.SuppressLint
import android.app.Notification
@ -14,18 +14,18 @@ import android.media.RingtoneManager
import androidx.core.app.NotificationCompat
import androidx.core.app.Person
import androidx.core.app.RemoteInput
import com.simplemobiletools.commons.extensions.getProperPrimaryColor
import com.simplemobiletools.commons.extensions.notificationManager
import com.simplemobiletools.commons.helpers.SimpleContactsHelper
import com.simplemobiletools.commons.helpers.isNougatPlus
import com.simplemobiletools.commons.helpers.isOreoPlus
import com.simplemobiletools.smsmessenger.R
import com.simplemobiletools.smsmessenger.activities.ThreadActivity
import com.simplemobiletools.smsmessenger.extensions.config
import com.simplemobiletools.smsmessenger.messaging.isShortCodeWithLetters
import com.simplemobiletools.smsmessenger.receivers.DeleteSmsReceiver
import com.simplemobiletools.smsmessenger.receivers.DirectReplyReceiver
import com.simplemobiletools.smsmessenger.receivers.MarkAsReadReceiver
import org.fossify.commons.extensions.getProperPrimaryColor
import org.fossify.commons.extensions.notificationManager
import org.fossify.commons.helpers.SimpleContactsHelper
import org.fossify.commons.helpers.isNougatPlus
import org.fossify.commons.helpers.isOreoPlus
import org.fossify.smsmessenger.R
import org.fossify.smsmessenger.activities.ThreadActivity
import org.fossify.smsmessenger.extensions.config
import org.fossify.smsmessenger.messaging.isShortCodeWithLetters
import org.fossify.smsmessenger.receivers.DeleteSmsReceiver
import org.fossify.smsmessenger.receivers.DirectReplyReceiver
import org.fossify.smsmessenger.receivers.MarkAsReadReceiver
class NotificationHelper(private val context: Context) {
@ -128,12 +128,12 @@ class NotificationHelper(private val context: Context) {
builder.addAction(replyAction)
}
builder.addAction(com.simplemobiletools.commons.R.drawable.ic_check_vector, context.getString(R.string.mark_as_read), markAsReadPendingIntent)
builder.addAction(org.fossify.commons.R.drawable.ic_check_vector, context.getString(R.string.mark_as_read), markAsReadPendingIntent)
.setChannelId(NOTIFICATION_CHANNEL)
if (isNoReplySms) {
builder.addAction(
com.simplemobiletools.commons.R.drawable.ic_delete_vector,
context.getString(com.simplemobiletools.commons.R.string.delete),
org.fossify.commons.R.drawable.ic_delete_vector,
context.getString(org.fossify.commons.R.string.delete),
deleteSmsPendingIntent
).setChannelId(NOTIFICATION_CHANNEL)
}

View file

@ -1,10 +1,10 @@
package com.simplemobiletools.smsmessenger.helpers
package org.fossify.smsmessenger.helpers
import android.content.Context
import android.net.Uri
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
import ezvcard.Ezvcard
import ezvcard.VCard
import org.fossify.commons.helpers.ensureBackgroundThread
fun parseVCardFromUri(context: Context, uri: Uri, callback: (vCards: List<VCard>) -> Unit) {
ensureBackgroundThread {

View file

@ -1,8 +1,8 @@
package com.simplemobiletools.smsmessenger.interfaces
package org.fossify.smsmessenger.interfaces
import androidx.room.Dao
import androidx.room.Query
import com.simplemobiletools.smsmessenger.models.Attachment
import org.fossify.smsmessenger.models.Attachment
@Dao
interface AttachmentsDao {

View file

@ -1,8 +1,11 @@
package com.simplemobiletools.smsmessenger.interfaces
package org.fossify.smsmessenger.interfaces
import androidx.room.*
import com.simplemobiletools.smsmessenger.models.Conversation
import com.simplemobiletools.smsmessenger.models.ConversationWithSnippetOverride
import androidx.room.Dao
import androidx.room.Insert
import androidx.room.OnConflictStrategy
import androidx.room.Query
import org.fossify.smsmessenger.models.Conversation
import org.fossify.smsmessenger.models.ConversationWithSnippetOverride
@Dao
interface ConversationsDao {

View file

@ -1,8 +1,8 @@
package com.simplemobiletools.smsmessenger.interfaces
package org.fossify.smsmessenger.interfaces
import androidx.room.Dao
import androidx.room.Query
import com.simplemobiletools.smsmessenger.models.MessageAttachment
import org.fossify.smsmessenger.models.MessageAttachment
@Dao
interface MessageAttachmentsDao {

View file

@ -1,8 +1,8 @@
package com.simplemobiletools.smsmessenger.interfaces
package org.fossify.smsmessenger.interfaces
import androidx.room.*
import com.simplemobiletools.smsmessenger.models.RecycleBinMessage
import com.simplemobiletools.smsmessenger.models.Message
import org.fossify.smsmessenger.models.Message
import org.fossify.smsmessenger.models.RecycleBinMessage
@Dao
interface MessagesDao {

View file

@ -1,18 +1,18 @@
package com.simplemobiletools.smsmessenger.messaging
package org.fossify.smsmessenger.messaging
import android.content.Context
import android.telephony.SmsMessage
import android.widget.Toast.LENGTH_LONG
import com.klinker.android.send_message.Settings
import com.simplemobiletools.commons.extensions.showErrorToast
import com.simplemobiletools.commons.extensions.toast
import com.simplemobiletools.smsmessenger.R
import com.simplemobiletools.smsmessenger.extensions.config
import com.simplemobiletools.smsmessenger.extensions.messagingUtils
import com.simplemobiletools.smsmessenger.messaging.SmsException.Companion.EMPTY_DESTINATION_ADDRESS
import com.simplemobiletools.smsmessenger.messaging.SmsException.Companion.ERROR_PERSISTING_MESSAGE
import com.simplemobiletools.smsmessenger.messaging.SmsException.Companion.ERROR_SENDING_MESSAGE
import com.simplemobiletools.smsmessenger.models.Attachment
import org.fossify.commons.extensions.showErrorToast
import org.fossify.commons.extensions.toast
import org.fossify.smsmessenger.R
import org.fossify.smsmessenger.extensions.config
import org.fossify.smsmessenger.extensions.messagingUtils
import org.fossify.smsmessenger.messaging.SmsException.Companion.EMPTY_DESTINATION_ADDRESS
import org.fossify.smsmessenger.messaging.SmsException.Companion.ERROR_PERSISTING_MESSAGE
import org.fossify.smsmessenger.messaging.SmsException.Companion.ERROR_SENDING_MESSAGE
import org.fossify.smsmessenger.models.Attachment
@Deprecated("TODO: Move/rewrite messaging config code into the app.")
fun Context.getSendMessageSettings(): Settings {

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.messaging
package org.fossify.smsmessenger.messaging
import android.annotation.SuppressLint
import android.app.Activity
@ -13,16 +13,16 @@ import android.widget.Toast
import com.klinker.android.send_message.Message
import com.klinker.android.send_message.Settings
import com.klinker.android.send_message.Transaction
import com.simplemobiletools.commons.extensions.showErrorToast
import com.simplemobiletools.commons.extensions.toast
import com.simplemobiletools.smsmessenger.R
import com.simplemobiletools.smsmessenger.extensions.getThreadId
import com.simplemobiletools.smsmessenger.extensions.isPlainTextMimeType
import com.simplemobiletools.smsmessenger.extensions.smsSender
import com.simplemobiletools.smsmessenger.messaging.SmsException.Companion.ERROR_PERSISTING_MESSAGE
import com.simplemobiletools.smsmessenger.models.Attachment
import com.simplemobiletools.smsmessenger.receivers.MmsSentReceiver
import com.simplemobiletools.smsmessenger.receivers.SendStatusReceiver
import org.fossify.commons.extensions.showErrorToast
import org.fossify.commons.extensions.toast
import org.fossify.smsmessenger.R
import org.fossify.smsmessenger.extensions.getThreadId
import org.fossify.smsmessenger.extensions.isPlainTextMimeType
import org.fossify.smsmessenger.extensions.smsSender
import org.fossify.smsmessenger.messaging.SmsException.Companion.ERROR_PERSISTING_MESSAGE
import org.fossify.smsmessenger.models.Attachment
import org.fossify.smsmessenger.receivers.MmsSentReceiver
import org.fossify.smsmessenger.receivers.SendStatusReceiver
class MessagingUtils(val context: Context) {
@ -166,7 +166,7 @@ class MessagingUtils(val context: Context) {
} catch (e: Exception) {
context.showErrorToast(e)
} catch (e: Error) {
context.showErrorToast(e.localizedMessage ?: context.getString(com.simplemobiletools.commons.R.string.unknown_error_occurred))
context.showErrorToast(e.localizedMessage ?: context.getString(org.fossify.commons.R.string.unknown_error_occurred))
}
}

View file

@ -1,14 +1,14 @@
package com.simplemobiletools.smsmessenger.messaging
package org.fossify.smsmessenger.messaging
import android.app.AlarmManager
import android.app.PendingIntent
import android.content.Context
import android.content.Intent
import androidx.core.app.AlarmManagerCompat
import com.simplemobiletools.smsmessenger.helpers.SCHEDULED_MESSAGE_ID
import com.simplemobiletools.smsmessenger.helpers.THREAD_ID
import com.simplemobiletools.smsmessenger.models.Message
import com.simplemobiletools.smsmessenger.receivers.ScheduledMessageReceiver
import org.fossify.smsmessenger.helpers.SCHEDULED_MESSAGE_ID
import org.fossify.smsmessenger.helpers.THREAD_ID
import org.fossify.smsmessenger.models.Message
import org.fossify.smsmessenger.receivers.ScheduledMessageReceiver
/**
* All things related to scheduled messages are here.

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.messaging
package org.fossify.smsmessenger.messaging
class SmsException(val errorCode: Int, val exception: Exception? = null) : Exception() {
companion object {

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.messaging
package org.fossify.smsmessenger.messaging
import android.telephony.SmsManager
import com.klinker.android.send_message.Settings

View file

@ -1,16 +1,16 @@
package com.simplemobiletools.smsmessenger.messaging
package org.fossify.smsmessenger.messaging
import android.app.Application
import android.app.PendingIntent
import android.content.Intent
import android.net.Uri
import android.telephony.PhoneNumberUtils
import com.simplemobiletools.commons.helpers.isSPlus
import com.simplemobiletools.smsmessenger.messaging.SmsException.Companion.EMPTY_DESTINATION_ADDRESS
import com.simplemobiletools.smsmessenger.messaging.SmsException.Companion.ERROR_SENDING_MESSAGE
import com.simplemobiletools.smsmessenger.receivers.SendStatusReceiver
import com.simplemobiletools.smsmessenger.receivers.SmsStatusDeliveredReceiver
import com.simplemobiletools.smsmessenger.receivers.SmsStatusSentReceiver
import org.fossify.commons.helpers.isSPlus
import org.fossify.smsmessenger.messaging.SmsException.Companion.EMPTY_DESTINATION_ADDRESS
import org.fossify.smsmessenger.messaging.SmsException.Companion.ERROR_SENDING_MESSAGE
import org.fossify.smsmessenger.receivers.SendStatusReceiver
import org.fossify.smsmessenger.receivers.SmsStatusDeliveredReceiver
import org.fossify.smsmessenger.receivers.SmsStatusSentReceiver
/** Class that sends chat message via SMS. */
class SmsSender(val app: Application) {

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.models
package org.fossify.smsmessenger.models
import androidx.room.ColumnInfo
import androidx.room.Entity

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.models
package org.fossify.smsmessenger.models
import android.net.Uri
import androidx.room.ColumnInfo
@ -14,7 +14,8 @@ data class Attachment(
@ColumnInfo(name = "mimetype") var mimetype: String,
@ColumnInfo(name = "width") var width: Int,
@ColumnInfo(name = "height") var height: Int,
@ColumnInfo(name = "filename") var filename: String) {
@ColumnInfo(name = "filename") var filename: String
) {
fun getUri() = Uri.parse(uriString)
}

View file

@ -1,12 +1,12 @@
package com.simplemobiletools.smsmessenger.models
package org.fossify.smsmessenger.models
import android.net.Uri
import com.simplemobiletools.smsmessenger.extensions.isImageMimeType
import com.simplemobiletools.smsmessenger.extensions.isVCardMimeType
import com.simplemobiletools.smsmessenger.extensions.isVideoMimeType
import com.simplemobiletools.smsmessenger.helpers.ATTACHMENT_DOCUMENT
import com.simplemobiletools.smsmessenger.helpers.ATTACHMENT_MEDIA
import com.simplemobiletools.smsmessenger.helpers.ATTACHMENT_VCARD
import org.fossify.smsmessenger.extensions.isImageMimeType
import org.fossify.smsmessenger.extensions.isVCardMimeType
import org.fossify.smsmessenger.extensions.isVideoMimeType
import org.fossify.smsmessenger.helpers.ATTACHMENT_DOCUMENT
import org.fossify.smsmessenger.helpers.ATTACHMENT_MEDIA
import org.fossify.smsmessenger.helpers.ATTACHMENT_VCARD
data class AttachmentSelection(
val id: String,

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.models
package org.fossify.smsmessenger.models
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.models
package org.fossify.smsmessenger.models
import androidx.room.ColumnInfo
import androidx.room.Entity

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.models
package org.fossify.smsmessenger.models
import androidx.room.ColumnInfo
import androidx.room.Embedded

View file

@ -0,0 +1,5 @@
package org.fossify.smsmessenger.models
class Events {
class RefreshMessages
}

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.models
package org.fossify.smsmessenger.models
import com.google.gson.annotations.SerializedName

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.models
package org.fossify.smsmessenger.models
enum class ImportResult {
IMPORT_FAIL, IMPORT_OK, IMPORT_PARTIAL, IMPORT_NOTHING_NEW

View file

@ -1,10 +1,10 @@
package com.simplemobiletools.smsmessenger.models
package org.fossify.smsmessenger.models
import android.provider.Telephony
import androidx.room.ColumnInfo
import androidx.room.Entity
import androidx.room.PrimaryKey
import com.simplemobiletools.commons.models.SimpleContact
import org.fossify.commons.models.SimpleContact
@Entity(tableName = "messages")
data class Message(

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.models
package org.fossify.smsmessenger.models
import androidx.room.ColumnInfo
import androidx.room.Entity
@ -8,4 +8,5 @@ import androidx.room.PrimaryKey
data class MessageAttachment(
@PrimaryKey val id: Long,
@ColumnInfo(name = "text") var text: String,
@ColumnInfo(name = "attachments") var attachments: ArrayList<Attachment>)
@ColumnInfo(name = "attachments") var attachments: ArrayList<Attachment>
)

View file

@ -1,13 +1,16 @@
package com.simplemobiletools.smsmessenger.models
package org.fossify.smsmessenger.models
import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
import kotlinx.serialization.SerializationException
import kotlinx.serialization.json.*
import kotlinx.serialization.json.JsonContentPolymorphicSerializer
import kotlinx.serialization.json.JsonElement
import kotlinx.serialization.json.jsonObject
import kotlinx.serialization.json.jsonPrimitive
@Serializable(with = BackupSerializer::class)
sealed class MessagesBackup() {
sealed class MessagesBackup {
@SerialName("backupType")
abstract val backupType: BackupType
}

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.models
package org.fossify.smsmessenger.models
import android.content.ContentValues
import android.provider.Telephony

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.models
package org.fossify.smsmessenger.models
import android.content.ContentValues
import android.provider.Telephony
@ -48,7 +48,7 @@ data class MmsBackup(
val parts: List<MmsPart>,
override val backupType: BackupType = BackupType.MMS,
): MessagesBackup() {
) : MessagesBackup() {
fun toContentValues(): ContentValues {
return contentValuesOf(

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.models
package org.fossify.smsmessenger.models
import android.content.ContentValues
import android.provider.Telephony

View file

@ -1,3 +1,3 @@
package com.simplemobiletools.smsmessenger.models
package org.fossify.smsmessenger.models
data class NamePhoto(val name: String, val photoUri: String?)

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.models
package org.fossify.smsmessenger.models
import androidx.room.ColumnInfo
import androidx.room.Entity

View file

@ -1,3 +1,3 @@
package com.simplemobiletools.smsmessenger.models
package org.fossify.smsmessenger.models
data class SIMCard(val id: Int, val subscriptionId: Int, val label: String)

View file

@ -1,3 +1,3 @@
package com.simplemobiletools.smsmessenger.models
package org.fossify.smsmessenger.models
data class SearchResult(val messageId: Long, val title: String, val snippet: String, val date: String, val threadId: Long, var photoUri: String)

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.models
package org.fossify.smsmessenger.models
import android.content.ContentValues
@ -33,7 +33,7 @@ data class SmsBackup(
val serviceCenter: String?,
override val backupType: BackupType = BackupType.SMS,
): MessagesBackup() {
) : MessagesBackup() {
fun toContentValues(): ContentValues {
return contentValuesOf(

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.models
package org.fossify.smsmessenger.models
/**
* Thread item representations for the main thread recyclerview. [Message] is also a [ThreadItem]

View file

@ -1,12 +1,12 @@
package com.simplemobiletools.smsmessenger.models
package org.fossify.smsmessenger.models
import android.content.Context
import com.simplemobiletools.commons.extensions.normalizePhoneNumber
import com.simplemobiletools.smsmessenger.extensions.config
import com.simplemobiletools.smsmessenger.extensions.format
import com.simplemobiletools.smsmessenger.helpers.parseNameFromVCard
import ezvcard.VCard
import ezvcard.property.*
import org.fossify.commons.extensions.normalizePhoneNumber
import org.fossify.smsmessenger.extensions.config
import org.fossify.smsmessenger.extensions.format
import org.fossify.smsmessenger.helpers.parseNameFromVCard
private val displayedPropertyClasses = arrayOf(
Telephone::class.java, Email::class.java, Organization::class.java, Birthday::class.java, Anniversary::class.java, Note::class.java
@ -37,9 +37,9 @@ data class VCardPropertyWrapper(val value: String, val type: String, val propert
private fun VCardProperty.getPropertyTypeString(context: Context): String {
return when (parameters.type) {
CELL -> context.getString(com.simplemobiletools.commons.R.string.mobile)
HOME -> context.getString(com.simplemobiletools.commons.R.string.home)
WORK -> context.getString(com.simplemobiletools.commons.R.string.work)
CELL -> context.getString(org.fossify.commons.R.string.mobile)
HOME -> context.getString(org.fossify.commons.R.string.home)
WORK -> context.getString(org.fossify.commons.R.string.work)
else -> ""
}
}
@ -51,20 +51,23 @@ data class VCardPropertyWrapper(val value: String, val type: String, val propert
is Email -> VCardPropertyWrapper(value, getPropertyTypeString(context), property)
is Organization -> VCardPropertyWrapper(
value = values.joinToString(),
type = context.getString(com.simplemobiletools.commons.R.string.work),
type = context.getString(org.fossify.commons.R.string.work),
property = property
)
is Birthday -> VCardPropertyWrapper(
value = date.format(context.config.dateFormat),
type = context.getString(com.simplemobiletools.commons.R.string.birthday),
type = context.getString(org.fossify.commons.R.string.birthday),
property = property
)
is Anniversary -> VCardPropertyWrapper(
value = date.format(context.config.dateFormat),
type = context.getString(com.simplemobiletools.commons.R.string.anniversary),
type = context.getString(org.fossify.commons.R.string.anniversary),
property = property
)
is Note -> VCardPropertyWrapper(value, context.getString(com.simplemobiletools.commons.R.string.notes), property)
is Note -> VCardPropertyWrapper(value, context.getString(org.fossify.commons.R.string.notes), property)
else -> VCardPropertyWrapper("", "", property)
}
}

View file

@ -0,0 +1,31 @@
package org.fossify.smsmessenger.receivers
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import org.fossify.commons.extensions.notificationManager
import org.fossify.commons.helpers.ensureBackgroundThread
import org.fossify.smsmessenger.extensions.conversationsDB
import org.fossify.smsmessenger.extensions.deleteMessage
import org.fossify.smsmessenger.extensions.updateLastConversationMessage
import org.fossify.smsmessenger.extensions.updateUnreadCountBadge
import org.fossify.smsmessenger.helpers.IS_MMS
import org.fossify.smsmessenger.helpers.MESSAGE_ID
import org.fossify.smsmessenger.helpers.THREAD_ID
import org.fossify.smsmessenger.helpers.refreshMessages
class DeleteSmsReceiver : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
val threadId = intent.getLongExtra(THREAD_ID, 0L)
val messageId = intent.getLongExtra(MESSAGE_ID, 0L)
val isMms = intent.getBooleanExtra(IS_MMS, false)
context.notificationManager.cancel(threadId.hashCode())
ensureBackgroundThread {
context.deleteMessage(messageId, isMms)
context.updateUnreadCountBadge(context.conversationsDB.getUnreadConversations())
context.updateLastConversationMessage(threadId)
refreshMessages()
}
}
}

Some files were not shown because too many files have changed in this diff Show more