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 # 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. 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. 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: Check out the full suite of apps here:
https://github.com/FossifyX https://github.com/FossifyOrg
<div style="display:flex;"> <div style="display:flex;">
<img alt="App image" src="fastlane/metadata/android/en-US/images/phoneScreenshots/1_en-US.jpeg" width="30%"> <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 { dependencies {
implementation(libs.simple.mobile.tools.commons) implementation(libs.fossify.commons)
implementation(libs.eventbus) implementation(libs.eventbus)
implementation(libs.indicator.fast.scroll) implementation(libs.indicator.fast.scroll)
implementation(libs.android.smsmms) implementation(libs.android.smsmms)

View file

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

View file

@ -122,21 +122,21 @@
</activity> </activity>
<activity <activity
android:name="com.simplemobiletools.commons.activities.AboutActivity" android:name="org.fossify.commons.activities.AboutActivity"
android:configChanges="orientation" android:configChanges="orientation"
android:exported="false" android:exported="false"
android:label="@string/about" android:label="@string/about"
android:parentActivityName=".activities.MainActivity" /> android:parentActivityName=".activities.MainActivity" />
<activity <activity
android:name="com.simplemobiletools.commons.activities.CustomizationActivity" android:name="org.fossify.commons.activities.CustomizationActivity"
android:configChanges="orientation" android:configChanges="orientation"
android:exported="false" android:exported="false"
android:label="@string/customize_colors" android:label="@string/customize_colors"
android:parentActivityName=".activities.SettingsActivity" /> android:parentActivityName=".activities.SettingsActivity" />
<activity <activity
android:name="com.simplemobiletools.commons.activities.ManageBlockedNumbersActivity" android:name="org.fossify.commons.activities.ManageBlockedNumbersActivity"
android:configChanges="orientation" android:configChanges="orientation"
android:exported="false" android:exported="false"
android:label="@string/blocked_numbers" android:label="@string/blocked_numbers"
@ -221,7 +221,7 @@
android:enabled="true" android:enabled="true"
android:exported="true"> android:exported="true">
<intent-filter> <intent-filter>
<action android:name="com.simplemobiletools.smsmessenger.action.mark_as_read" /> <action android:name="org.fossify.smsmessenger.action.mark_as_read" />
</intent-filter> </intent-filter>
</receiver> </receiver>
@ -230,7 +230,7 @@
android:enabled="true" android:enabled="true"
android:exported="true"> android:exported="true">
<intent-filter> <intent-filter>
<action android:name="com.simplemobiletools.smsmessenger.action.reply" /> <action android:name="org.fossify.smsmessenger.action.reply" />
</intent-filter> </intent-filter>
</receiver> </receiver>
@ -239,7 +239,7 @@
android:enabled="true" android:enabled="true"
android:exported="true"> android:exported="true">
<intent-filter> <intent-filter>
<action android:name="com.simplemobiletools.smsmessenger.action.delete" /> <action android:name="org.fossify.smsmessenger.action.delete" />
</intent-filter> </intent-filter>
</receiver> </receiver>
@ -385,10 +385,10 @@
<activity-alias <activity-alias
android:name=".activities.SplashActivity.Green" android:name=".activities.SplashActivity.Green"
android:enabled="false" android:enabled="true"
android:exported="true" android:exported="true"
android:icon="@mipmap/ic_launcher_green" android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_green" android:roundIcon="@mipmap/ic_launcher"
android:targetActivity=".activities.SplashActivity"> android:targetActivity=".activities.SplashActivity">
<intent-filter> <intent-filter>
@ -455,10 +455,10 @@
<activity-alias <activity-alias
android:name=".activities.SplashActivity.Orange" android:name=".activities.SplashActivity.Orange"
android:enabled="true" android:enabled="false"
android:exported="true" android:exported="true"
android:icon="@mipmap/ic_launcher" android:icon="@mipmap/ic_launcher_orange"
android:roundIcon="@mipmap/ic_launcher" android:roundIcon="@mipmap/ic_launcher_orange"
android:targetActivity=".activities.SplashActivity"> android:targetActivity=".activities.SplashActivity">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <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 android.app.Application
import com.simplemobiletools.commons.extensions.checkUseEnglish import org.fossify.commons.extensions.checkUseEnglish
class App : Application() { class App : Application() {
override fun onCreate() { 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.annotation.SuppressLint
import android.content.Intent import android.content.Intent
import android.os.Bundle import android.os.Bundle
import com.simplemobiletools.commons.dialogs.ConfirmationDialog import org.fossify.commons.dialogs.ConfirmationDialog
import com.simplemobiletools.commons.extensions.* import org.fossify.commons.extensions.*
import com.simplemobiletools.commons.helpers.* import org.fossify.commons.helpers.NavigationIcon
import com.simplemobiletools.smsmessenger.R import org.fossify.commons.helpers.WAS_PROTECTION_HANDLED
import com.simplemobiletools.smsmessenger.adapters.ArchivedConversationsAdapter import org.fossify.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.smsmessenger.databinding.ActivityArchivedConversationsBinding import org.fossify.smsmessenger.R
import com.simplemobiletools.smsmessenger.extensions.* import org.fossify.smsmessenger.adapters.ArchivedConversationsAdapter
import com.simplemobiletools.smsmessenger.helpers.* import org.fossify.smsmessenger.databinding.ActivityArchivedConversationsBinding
import com.simplemobiletools.smsmessenger.models.Conversation import org.fossify.smsmessenger.extensions.config
import com.simplemobiletools.smsmessenger.models.Events 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.EventBus
import org.greenrobot.eventbus.Subscribe import org.greenrobot.eventbus.Subscribe
import org.greenrobot.eventbus.ThreadMode import org.greenrobot.eventbus.ThreadMode
@ -98,8 +103,8 @@ class ArchivedConversationsActivity : SimpleActivity() {
activity = this, activity = this,
message = "", message = "",
messageId = R.string.empty_archive_confirmation, messageId = R.string.empty_archive_confirmation,
positive = com.simplemobiletools.commons.R.string.yes, positive = org.fossify.commons.R.string.yes,
negative = com.simplemobiletools.commons.R.string.no negative = org.fossify.commons.R.string.no
) { ) {
removeAllArchivedConversations { removeAllArchivedConversations {
loadArchivedConversations() loadArchivedConversations()

View file

@ -1,17 +1,17 @@
package com.simplemobiletools.smsmessenger.activities package org.fossify.smsmessenger.activities
import android.os.Bundle import android.os.Bundle
import androidx.core.content.res.ResourcesCompat import androidx.core.content.res.ResourcesCompat
import com.simplemobiletools.commons.extensions.* import org.fossify.commons.extensions.*
import com.simplemobiletools.commons.helpers.NavigationIcon import org.fossify.commons.helpers.NavigationIcon
import com.simplemobiletools.commons.helpers.ensureBackgroundThread import org.fossify.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.commons.models.SimpleContact import org.fossify.commons.models.SimpleContact
import com.simplemobiletools.smsmessenger.adapters.ContactsAdapter import org.fossify.smsmessenger.adapters.ContactsAdapter
import com.simplemobiletools.smsmessenger.databinding.ActivityConversationDetailsBinding import org.fossify.smsmessenger.databinding.ActivityConversationDetailsBinding
import com.simplemobiletools.smsmessenger.dialogs.RenameConversationDialog import org.fossify.smsmessenger.dialogs.RenameConversationDialog
import com.simplemobiletools.smsmessenger.extensions.* import org.fossify.smsmessenger.extensions.*
import com.simplemobiletools.smsmessenger.helpers.THREAD_ID import org.fossify.smsmessenger.helpers.THREAD_ID
import com.simplemobiletools.smsmessenger.models.Conversation import org.fossify.smsmessenger.models.Conversation
class ConversationDetailsActivity : SimpleActivity() { class ConversationDetailsActivity : SimpleActivity() {
@ -62,7 +62,7 @@ class ConversationDetailsActivity : SimpleActivity() {
private fun setupTextViews() { private fun setupTextViews() {
binding.conversationName.apply { 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()) applyColorFilter(getProperTextColor())
setCompoundDrawablesWithIntrinsicBounds(null, null, this, null) 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.annotation.SuppressLint
import android.app.Activity import android.app.Activity
@ -12,22 +12,24 @@ import android.os.Bundle
import android.provider.Telephony import android.provider.Telephony
import android.text.TextUtils import android.text.TextUtils
import androidx.coordinatorlayout.widget.CoordinatorLayout import androidx.coordinatorlayout.widget.CoordinatorLayout
import com.simplemobiletools.commons.dialogs.PermissionRequiredDialog import org.fossify.commons.dialogs.PermissionRequiredDialog
import com.simplemobiletools.commons.extensions.* import org.fossify.commons.extensions.*
import com.simplemobiletools.commons.helpers.* import org.fossify.commons.helpers.*
import com.simplemobiletools.commons.models.FAQItem import org.fossify.commons.models.FAQItem
import com.simplemobiletools.commons.models.Release import org.fossify.commons.models.Release
import com.simplemobiletools.smsmessenger.BuildConfig import org.fossify.smsmessenger.BuildConfig
import com.simplemobiletools.smsmessenger.R import org.fossify.smsmessenger.R
import com.simplemobiletools.smsmessenger.adapters.ConversationsAdapter import org.fossify.smsmessenger.adapters.ConversationsAdapter
import com.simplemobiletools.smsmessenger.adapters.SearchResultsAdapter import org.fossify.smsmessenger.adapters.SearchResultsAdapter
import com.simplemobiletools.smsmessenger.databinding.ActivityMainBinding import org.fossify.smsmessenger.databinding.ActivityMainBinding
import com.simplemobiletools.smsmessenger.extensions.* import org.fossify.smsmessenger.extensions.*
import com.simplemobiletools.smsmessenger.helpers.* import org.fossify.smsmessenger.helpers.SEARCHED_MESSAGE_ID
import com.simplemobiletools.smsmessenger.models.Conversation import org.fossify.smsmessenger.helpers.THREAD_ID
import com.simplemobiletools.smsmessenger.models.Events import org.fossify.smsmessenger.helpers.THREAD_TITLE
import com.simplemobiletools.smsmessenger.models.Message import org.fossify.smsmessenger.models.Conversation
import com.simplemobiletools.smsmessenger.models.SearchResult 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.EventBus
import org.greenrobot.eventbus.Subscribe import org.greenrobot.eventbus.Subscribe
import org.greenrobot.eventbus.ThreadMode import org.greenrobot.eventbus.ThreadMode
@ -106,7 +108,7 @@ class MainActivity : SimpleActivity() {
binding.conversationsProgressBar.trackColor = properPrimaryColor.adjustAlpha(LOWER_ALPHA) binding.conversationsProgressBar.trackColor = properPrimaryColor.adjustAlpha(LOWER_ALPHA)
checkShortcut() checkShortcut()
(binding.conversationsFab.layoutParams as? CoordinatorLayout.LayoutParams)?.bottomMargin = (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() { override fun onPause() {
@ -185,7 +187,7 @@ class MainActivity : SimpleActivity() {
private fun refreshMenuItems() { private fun refreshMenuItems() {
binding.mainMenu.getToolbar().menu.apply { 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_recycle_bin).isVisible = config.useRecycleBin
findItem(R.id.show_archived).isVisible = config.isArchiveAvailable findItem(R.id.show_archived).isVisible = config.isArchiveAvailable
} }
@ -223,7 +225,7 @@ class MainActivity : SimpleActivity() {
startActivityForResult(intent, MAKE_DEFAULT_APP_REQUEST) startActivityForResult(intent, MAKE_DEFAULT_APP_REQUEST)
} }
} else { } else {
toast(com.simplemobiletools.commons.R.string.unknown_error_occurred) toast(org.fossify.commons.R.string.unknown_error_occurred)
finish() finish()
} }
} else { } else {
@ -248,7 +250,7 @@ class MainActivity : SimpleActivity() {
if (!granted) { if (!granted) {
PermissionRequiredDialog( PermissionRequiredDialog(
activity = this, activity = this,
textId = com.simplemobiletools.commons.R.string.allow_notifications_incoming_messages, textId = org.fossify.commons.R.string.allow_notifications_incoming_messages,
positiveActionCallback = { openNotificationSettings() }) positiveActionCallback = { openNotificationSettings() })
} }
} }
@ -481,8 +483,8 @@ class MainActivity : SimpleActivity() {
@SuppressLint("NewApi") @SuppressLint("NewApi")
private fun getCreateNewContactShortcut(appIconColor: Int): ShortcutInfo { private fun getCreateNewContactShortcut(appIconColor: Int): ShortcutInfo {
val newEvent = getString(R.string.new_conversation) val newEvent = getString(R.string.new_conversation)
val drawable = resources.getDrawable(com.simplemobiletools.commons.R.drawable.shortcut_plus) val drawable = resources.getDrawable(org.fossify.commons.R.drawable.shortcut_plus)
(drawable as LayerDrawable).findDrawableByLayerId(com.simplemobiletools.commons.R.id.shortcut_plus_background).applyColorFilter(appIconColor) (drawable as LayerDrawable).findDrawableByLayerId(org.fossify.commons.R.id.shortcut_plus_background).applyColorFilter(appIconColor)
val bmp = drawable.convertToBitmap() val bmp = drawable.convertToBitmap()
val intent = Intent(this, NewConversationActivity::class.java) val intent = Intent(this, NewConversationActivity::class.java)
@ -581,12 +583,12 @@ class MainActivity : SimpleActivity() {
val faqItems = arrayListOf( val faqItems = arrayListOf(
FAQItem(R.string.faq_2_title, R.string.faq_2_text), FAQItem(R.string.faq_2_title, R.string.faq_2_text),
FAQItem(R.string.faq_3_title, R.string.faq_3_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)) { if (!resources.getBoolean(org.fossify.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(org.fossify.commons.R.string.faq_2_title_commons, org.fossify.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)) 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) startAboutActivity(R.string.app_name, licenses, BuildConfig.VERSION_NAME, faqItems, true)
@ -599,8 +601,6 @@ class MainActivity : SimpleActivity() {
private fun checkWhatsNewDialog() { private fun checkWhatsNewDialog() {
arrayListOf<Release>().apply { arrayListOf<Release>().apply {
add(Release(48, R.string.release_48))
add(Release(62, R.string.release_62))
checkWhatsNew(this, BuildConfig.VERSION_CODE) 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 android.os.Bundle
import com.simplemobiletools.commons.activities.BaseSimpleActivity import org.fossify.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.extensions.beVisibleIf import org.fossify.commons.extensions.*
import com.simplemobiletools.commons.extensions.getProperPrimaryColor import org.fossify.commons.helpers.APP_ICON_IDS
import com.simplemobiletools.commons.extensions.underlineText import org.fossify.commons.helpers.APP_LAUNCHER_NAME
import com.simplemobiletools.commons.extensions.updateTextColors import org.fossify.commons.helpers.NavigationIcon
import com.simplemobiletools.commons.extensions.viewBinding import org.fossify.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.commons.helpers.APP_ICON_IDS import org.fossify.commons.interfaces.RefreshRecyclerViewListener
import com.simplemobiletools.commons.helpers.APP_LAUNCHER_NAME import org.fossify.smsmessenger.R
import com.simplemobiletools.commons.helpers.NavigationIcon import org.fossify.smsmessenger.databinding.ActivityManageBlockedKeywordsBinding
import com.simplemobiletools.commons.helpers.ensureBackgroundThread import org.fossify.smsmessenger.dialogs.AddBlockedKeywordDialog
import com.simplemobiletools.commons.interfaces.RefreshRecyclerViewListener import org.fossify.smsmessenger.dialogs.ManageBlockedKeywordsAdapter
import com.simplemobiletools.smsmessenger.R import org.fossify.smsmessenger.extensions.config
import com.simplemobiletools.smsmessenger.databinding.ActivityManageBlockedKeywordsBinding import org.fossify.smsmessenger.extensions.toArrayList
import com.simplemobiletools.smsmessenger.dialogs.AddBlockedKeywordDialog
import com.simplemobiletools.smsmessenger.dialogs.ManageBlockedKeywordsAdapter
import com.simplemobiletools.smsmessenger.extensions.config
import com.simplemobiletools.smsmessenger.extensions.toArrayList
class ManageBlockedKeywordsActivity : BaseSimpleActivity(), RefreshRecyclerViewListener { class ManageBlockedKeywordsActivity : BaseSimpleActivity(), RefreshRecyclerViewListener {
override fun getAppIconIDs() = intent.getIntegerArrayListExtra(APP_ICON_IDS) ?: ArrayList() 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.content.Intent
import android.net.Uri import android.net.Uri
@ -7,19 +7,19 @@ import android.view.WindowManager
import android.widget.Toast import android.widget.Toast
import com.google.gson.Gson import com.google.gson.Gson
import com.reddit.indicatorfastscroll.FastScrollItemIndicator import com.reddit.indicatorfastscroll.FastScrollItemIndicator
import com.simplemobiletools.commons.dialogs.RadioGroupDialog import org.fossify.commons.dialogs.RadioGroupDialog
import com.simplemobiletools.commons.extensions.* import org.fossify.commons.extensions.*
import com.simplemobiletools.commons.helpers.* import org.fossify.commons.helpers.*
import com.simplemobiletools.commons.models.RadioItem import org.fossify.commons.models.RadioItem
import com.simplemobiletools.commons.models.SimpleContact import org.fossify.commons.models.SimpleContact
import com.simplemobiletools.smsmessenger.R import org.fossify.smsmessenger.R
import com.simplemobiletools.smsmessenger.adapters.ContactsAdapter import org.fossify.smsmessenger.adapters.ContactsAdapter
import com.simplemobiletools.smsmessenger.databinding.ActivityNewConversationBinding import org.fossify.smsmessenger.databinding.ActivityNewConversationBinding
import com.simplemobiletools.smsmessenger.databinding.ItemSuggestedContactBinding import org.fossify.smsmessenger.databinding.ItemSuggestedContactBinding
import com.simplemobiletools.smsmessenger.extensions.getSuggestedContacts import org.fossify.smsmessenger.extensions.getSuggestedContacts
import com.simplemobiletools.smsmessenger.extensions.getThreadId import org.fossify.smsmessenger.extensions.getThreadId
import com.simplemobiletools.smsmessenger.helpers.* import org.fossify.smsmessenger.helpers.*
import com.simplemobiletools.smsmessenger.messaging.isShortCodeWithLetters import org.fossify.smsmessenger.messaging.isShortCodeWithLetters
import java.net.URLDecoder import java.net.URLDecoder
import java.util.Locale import java.util.Locale
@ -146,9 +146,9 @@ class NewConversationActivity : SimpleActivity() {
if (!hasContacts) { if (!hasContacts) {
val placeholderText = if (hasPermission(PERMISSION_READ_CONTACTS)) { val placeholderText = if (hasPermission(PERMISSION_READ_CONTACTS)) {
com.simplemobiletools.commons.R.string.no_contacts_found org.fossify.commons.R.string.no_contacts_found
} else { } else {
com.simplemobiletools.commons.R.string.no_access_to_contacts org.fossify.commons.R.string.no_access_to_contacts
} }
binding.noContactsPlaceholder.text = getString(placeholderText) 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.annotation.SuppressLint
import android.content.Intent import android.content.Intent
import android.os.Bundle import android.os.Bundle
import com.simplemobiletools.commons.dialogs.ConfirmationDialog import org.fossify.commons.dialogs.ConfirmationDialog
import com.simplemobiletools.commons.extensions.* import org.fossify.commons.extensions.*
import com.simplemobiletools.commons.helpers.* import org.fossify.commons.helpers.NavigationIcon
import com.simplemobiletools.smsmessenger.R import org.fossify.commons.helpers.WAS_PROTECTION_HANDLED
import com.simplemobiletools.smsmessenger.adapters.RecycleBinConversationsAdapter import org.fossify.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.smsmessenger.databinding.ActivityRecycleBinConversationsBinding import org.fossify.smsmessenger.R
import com.simplemobiletools.smsmessenger.extensions.* import org.fossify.smsmessenger.adapters.RecycleBinConversationsAdapter
import com.simplemobiletools.smsmessenger.helpers.* import org.fossify.smsmessenger.databinding.ActivityRecycleBinConversationsBinding
import com.simplemobiletools.smsmessenger.models.Conversation import org.fossify.smsmessenger.extensions.config
import com.simplemobiletools.smsmessenger.models.Events 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.EventBus
import org.greenrobot.eventbus.Subscribe import org.greenrobot.eventbus.Subscribe
import org.greenrobot.eventbus.ThreadMode import org.greenrobot.eventbus.ThreadMode
@ -98,8 +104,8 @@ class RecycleBinConversationsActivity : SimpleActivity() {
activity = this, activity = this,
message = "", message = "",
messageId = R.string.empty_recycle_bin_messages_confirmation, messageId = R.string.empty_recycle_bin_messages_confirmation,
positive = com.simplemobiletools.commons.R.string.yes, positive = org.fossify.commons.R.string.yes,
negative = com.simplemobiletools.commons.R.string.no negative = org.fossify.commons.R.string.no
) { ) {
ensureBackgroundThread { ensureBackgroundThread {
emptyMessagesRecycleBin() emptyMessagesRecycleBin()

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.activities package org.fossify.smsmessenger.activities
import android.annotation.TargetApi import android.annotation.TargetApi
import android.content.Intent import android.content.Intent
@ -6,22 +6,21 @@ import android.net.Uri
import android.os.Build import android.os.Build
import android.os.Bundle import android.os.Bundle
import androidx.activity.result.contract.ActivityResultContracts 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.encodeToString
import kotlinx.serialization.json.Json 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 import kotlin.system.exitProcess
class SettingsActivity : SimpleActivity() { class SettingsActivity : SimpleActivity() {
@ -99,7 +98,7 @@ class SettingsActivity : SimpleActivity() {
private val saveDocument = registerForActivityResult(ActivityResultContracts.CreateDocument(messagesFileType)) { uri -> private val saveDocument = registerForActivityResult(ActivityResultContracts.CreateDocument(messagesFileType)) { uri ->
if (uri != null) { if (uri != null) {
toast(com.simplemobiletools.commons.R.string.exporting) toast(org.fossify.commons.R.string.exporting)
exportMessages(uri) exportMessages(uri)
} }
} }
@ -123,7 +122,7 @@ class SettingsActivity : SimpleActivity() {
try { try {
MessagesReader(this).getMessagesToExport(config.exportSms, config.exportMms) { messagesToExport -> MessagesReader(this).getMessagesToExport(config.exportSms, config.exportMms) { messagesToExport ->
if (messagesToExport.isEmpty()) { 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 return@getMessagesToExport
} }
val json = Json { encodeDefaults = true } val json = Json { encodeDefaults = true }
@ -133,7 +132,7 @@ class SettingsActivity : SimpleActivity() {
outputStream.use { outputStream.use {
it.write(jsonString.toByteArray()) it.write(jsonString.toByteArray())
} }
toast(com.simplemobiletools.commons.R.string.exporting_successful) toast(org.fossify.commons.R.string.exporting_successful)
} }
} catch (e: Exception) { } catch (e: Exception) {
showErrorToast(e) showErrorToast(e)
@ -188,7 +187,7 @@ class SettingsActivity : SimpleActivity() {
// support for device-wise blocking came on Android 7, rely only on that // support for device-wise blocking came on Android 7, rely only on that
@TargetApi(Build.VERSION_CODES.N) @TargetApi(Build.VERSION_CODES.N)
private fun setupManageBlockedNumbers() = binding.apply { 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.beVisibleIf(isNougatPlus())
settingsManageBlockedNumbersHolder.setOnClickListener { settingsManageBlockedNumbersHolder.setOnClickListener {
@ -228,10 +227,10 @@ class SettingsActivity : SimpleActivity() {
settingsFontSize.text = getFontSizeText() settingsFontSize.text = getFontSizeText()
settingsFontSizeHolder.setOnClickListener { settingsFontSizeHolder.setOnClickListener {
val items = arrayListOf( val items = arrayListOf(
RadioItem(FONT_SIZE_SMALL, getString(com.simplemobiletools.commons.R.string.small)), RadioItem(FONT_SIZE_SMALL, getString(org.fossify.commons.R.string.small)),
RadioItem(FONT_SIZE_MEDIUM, getString(com.simplemobiletools.commons.R.string.medium)), RadioItem(FONT_SIZE_MEDIUM, getString(org.fossify.commons.R.string.medium)),
RadioItem(FONT_SIZE_LARGE, getString(com.simplemobiletools.commons.R.string.large)), RadioItem(FONT_SIZE_LARGE, getString(org.fossify.commons.R.string.large)),
RadioItem(FONT_SIZE_EXTRA_LARGE, getString(com.simplemobiletools.commons.R.string.extra_large)) RadioItem(FONT_SIZE_EXTRA_LARGE, getString(org.fossify.commons.R.string.extra_large))
) )
RadioGroupDialog(this@SettingsActivity, items, config.fontSize) { RadioGroupDialog(this@SettingsActivity, items, config.fontSize) {
@ -295,7 +294,7 @@ class SettingsActivity : SimpleActivity() {
val items = arrayListOf( val items = arrayListOf(
RadioItem(LOCK_SCREEN_SENDER_MESSAGE, getString(R.string.sender_and_message)), RadioItem(LOCK_SCREEN_SENDER_MESSAGE, getString(R.string.sender_and_message)),
RadioItem(LOCK_SCREEN_SENDER, getString(R.string.sender_only)), 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) { RadioGroupDialog(this@SettingsActivity, items, config.lockScreenVisibilitySetting) {
@ -309,7 +308,7 @@ class SettingsActivity : SimpleActivity() {
when (config.lockScreenVisibilitySetting) { when (config.lockScreenVisibilitySetting) {
LOCK_SCREEN_SENDER_MESSAGE -> R.string.sender_and_message LOCK_SCREEN_SENDER_MESSAGE -> R.string.sender_and_message
LOCK_SCREEN_SENDER -> R.string.sender_only 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 { settingsEmptyRecycleBinHolder.setOnClickListener {
if (recycleBinMessages == 0) { if (recycleBinMessages == 0) {
toast(com.simplemobiletools.commons.R.string.recycle_bin_empty) toast(org.fossify.commons.R.string.recycle_bin_empty)
} else { } else {
ConfirmationDialog( ConfirmationDialog(
activity = this@SettingsActivity, activity = this@SettingsActivity,
message = "", message = "",
messageId = R.string.empty_recycle_bin_messages_confirmation, messageId = R.string.empty_recycle_bin_messages_confirmation,
positive = com.simplemobiletools.commons.R.string.yes, positive = org.fossify.commons.R.string.yes,
negative = com.simplemobiletools.commons.R.string.no negative = org.fossify.commons.R.string.no
) { ) {
ensureBackgroundThread { ensureBackgroundThread {
emptyMessagesRecycleBin() emptyMessagesRecycleBin()
@ -393,12 +392,12 @@ class SettingsActivity : SimpleActivity() {
if (config.isAppPasswordProtectionOn) { if (config.isAppPasswordProtectionOn) {
val confirmationTextId = if (config.appProtectionType == PROTECTION_FINGERPRINT) { val confirmationTextId = if (config.appProtectionType == PROTECTION_FINGERPRINT) {
com.simplemobiletools.commons.R.string.fingerprint_setup_successfully org.fossify.commons.R.string.fingerprint_setup_successfully
} else { } 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 org.fossify.commons.activities.BaseSimpleActivity
import com.simplemobiletools.smsmessenger.R import org.fossify.smsmessenger.R
open class SimpleActivity : BaseSimpleActivity() { open class SimpleActivity : BaseSimpleActivity() {
override fun getAppIconIDs() = arrayListOf( override fun getAppIconIDs() = arrayListOf(
@ -14,12 +14,12 @@ open class SimpleActivity : BaseSimpleActivity() {
R.mipmap.ic_launcher_light_blue, R.mipmap.ic_launcher_light_blue,
R.mipmap.ic_launcher_cyan, R.mipmap.ic_launcher_cyan,
R.mipmap.ic_launcher_teal, R.mipmap.ic_launcher_teal,
R.mipmap.ic_launcher_green, R.mipmap.ic_launcher,
R.mipmap.ic_launcher_light_green, R.mipmap.ic_launcher_light_green,
R.mipmap.ic_launcher_lime, R.mipmap.ic_launcher_lime,
R.mipmap.ic_launcher_yellow, R.mipmap.ic_launcher_yellow,
R.mipmap.ic_launcher_amber, R.mipmap.ic_launcher_amber,
R.mipmap.ic_launcher, R.mipmap.ic_launcher_orange,
R.mipmap.ic_launcher_deep_orange, R.mipmap.ic_launcher_deep_orange,
R.mipmap.ic_launcher_brown, R.mipmap.ic_launcher_brown,
R.mipmap.ic_launcher_blue_grey, 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 android.content.Intent
import com.simplemobiletools.commons.activities.BaseSplashActivity import org.fossify.commons.activities.BaseSplashActivity
class SplashActivity : BaseSplashActivity() { class SplashActivity : BaseSplashActivity() {
override fun initActivity() { 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.annotation.SuppressLint
import android.app.Activity import android.app.Activity
@ -43,31 +43,31 @@ import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.google.gson.Gson import com.google.gson.Gson
import com.google.gson.reflect.TypeToken import com.google.gson.reflect.TypeToken
import com.simplemobiletools.commons.dialogs.ConfirmationDialog import org.fossify.commons.dialogs.ConfirmationDialog
import com.simplemobiletools.commons.dialogs.FeatureLockedDialog import org.fossify.commons.dialogs.FeatureLockedDialog
import com.simplemobiletools.commons.dialogs.PermissionRequiredDialog import org.fossify.commons.dialogs.PermissionRequiredDialog
import com.simplemobiletools.commons.dialogs.RadioGroupDialog import org.fossify.commons.dialogs.RadioGroupDialog
import com.simplemobiletools.commons.extensions.* import org.fossify.commons.extensions.*
import com.simplemobiletools.commons.helpers.* import org.fossify.commons.helpers.*
import com.simplemobiletools.commons.models.PhoneNumber import org.fossify.commons.models.PhoneNumber
import com.simplemobiletools.commons.models.RadioItem import org.fossify.commons.models.RadioItem
import com.simplemobiletools.commons.models.SimpleContact import org.fossify.commons.models.SimpleContact
import com.simplemobiletools.commons.views.MyRecyclerView import org.fossify.commons.views.MyRecyclerView
import com.simplemobiletools.smsmessenger.BuildConfig import org.fossify.smsmessenger.BuildConfig
import com.simplemobiletools.smsmessenger.R import org.fossify.smsmessenger.R
import com.simplemobiletools.smsmessenger.adapters.AttachmentsAdapter import org.fossify.smsmessenger.adapters.AttachmentsAdapter
import com.simplemobiletools.smsmessenger.adapters.AutoCompleteTextViewAdapter import org.fossify.smsmessenger.adapters.AutoCompleteTextViewAdapter
import com.simplemobiletools.smsmessenger.adapters.ThreadAdapter import org.fossify.smsmessenger.adapters.ThreadAdapter
import com.simplemobiletools.smsmessenger.databinding.ActivityThreadBinding import org.fossify.smsmessenger.databinding.ActivityThreadBinding
import com.simplemobiletools.smsmessenger.databinding.ItemSelectedContactBinding import org.fossify.smsmessenger.databinding.ItemSelectedContactBinding
import com.simplemobiletools.smsmessenger.dialogs.InvalidNumberDialog import org.fossify.smsmessenger.dialogs.InvalidNumberDialog
import com.simplemobiletools.smsmessenger.dialogs.RenameConversationDialog import org.fossify.smsmessenger.dialogs.RenameConversationDialog
import com.simplemobiletools.smsmessenger.dialogs.ScheduleMessageDialog import org.fossify.smsmessenger.dialogs.ScheduleMessageDialog
import com.simplemobiletools.smsmessenger.extensions.* import org.fossify.smsmessenger.extensions.*
import com.simplemobiletools.smsmessenger.helpers.* import org.fossify.smsmessenger.helpers.*
import com.simplemobiletools.smsmessenger.messaging.* import org.fossify.smsmessenger.messaging.*
import com.simplemobiletools.smsmessenger.models.* import org.fossify.smsmessenger.models.*
import com.simplemobiletools.smsmessenger.models.ThreadItem.* import org.fossify.smsmessenger.models.ThreadItem.*
import org.greenrobot.eventbus.EventBus import org.greenrobot.eventbus.EventBus
import org.greenrobot.eventbus.Subscribe import org.greenrobot.eventbus.Subscribe
import org.greenrobot.eventbus.ThreadMode import org.greenrobot.eventbus.ThreadMode
@ -131,7 +131,7 @@ class ThreadActivity : SimpleActivity() {
val extras = intent.extras val extras = intent.extras
if (extras == null) { if (extras == null) {
toast(com.simplemobiletools.commons.R.string.unknown_error_occurred) toast(org.fossify.commons.R.string.unknown_error_occurred)
finish() finish()
return return
} }
@ -257,7 +257,7 @@ class ThreadActivity : SimpleActivity() {
findItem(R.id.unarchive).isVisible = threadItems.isNotEmpty() && conversation?.isArchived == true && !isRecycleBin && archiveAvailable 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.rename_conversation).isVisible = participants.size > 1 && conversation != null && !isRecycleBin
findItem(R.id.conversation_details).isVisible = 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.block_number).isVisible = isNougatPlus() && !isRecycleBin
findItem(R.id.dial_number).isVisible = participants.size == 1 && !isSpecialNumber() && !isRecycleBin findItem(R.id.dial_number).isVisible = participants.size == 1 && !isSpecialNumber() && !isRecycleBin
findItem(R.id.manage_people).isVisible = !isSpecialNumber() && !isRecycleBin findItem(R.id.manage_people).isVisible = !isSpecialNumber() && !isRecycleBin
@ -401,7 +401,7 @@ class ThreadActivity : SimpleActivity() {
val name = intent.getStringExtra(THREAD_TITLE) ?: "" val name = intent.getStringExtra(THREAD_TITLE) ?: ""
val number = intent.getStringExtra(THREAD_NUMBER) val number = intent.getStringExtra(THREAD_NUMBER)
if (number == null) { if (number == null) {
toast(com.simplemobiletools.commons.R.string.unknown_error_occurred) toast(org.fossify.commons.R.string.unknown_error_occurred)
finish() finish()
return@ensureBackgroundThread return@ensureBackgroundThread
} }
@ -761,7 +761,7 @@ class ThreadActivity : SimpleActivity() {
} else { } else {
PermissionRequiredDialog( PermissionRequiredDialog(
activity = this, activity = this,
textId = com.simplemobiletools.commons.R.string.allow_alarm_scheduled_messages, textId = org.fossify.commons.R.string.allow_alarm_scheduled_messages,
positiveActionCallback = { positiveActionCallback = {
openRequestExactAlarmSettings(BuildConfig.APPLICATION_ID) openRequestExactAlarmSettings(BuildConfig.APPLICATION_ID)
}, },
@ -837,7 +837,7 @@ class ThreadActivity : SimpleActivity() {
) )
} }
if (isOreoPlus()) { 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() { private fun blockNumber() {
val numbers = participants.getAddresses() val numbers = participants.getAddresses()
val numbersString = TextUtils.join(", ", numbers) 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) { ConfirmationDialog(this, question) {
ensureBackgroundThread { ensureBackgroundThread {
@ -1153,7 +1153,7 @@ class ThreadActivity : SimpleActivity() {
return items 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() hideKeyboard()
try { try {
startActivityForResult(intent, requestCode) startActivityForResult(intent, requestCode)
@ -1226,11 +1226,11 @@ class ThreadActivity : SimpleActivity() {
addAttachment(vCardUri) addAttachment(vCardUri)
} }
} else { } else {
toast(com.simplemobiletools.commons.R.string.unknown_error_occurred) toast(org.fossify.commons.R.string.unknown_error_occurred)
} }
} }
} else { } 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) val mimeType = contentResolver.getType(uri)
if (mimeType == null) { if (mimeType == null) {
toast(com.simplemobiletools.commons.R.string.unknown_error_occurred) toast(org.fossify.commons.R.string.unknown_error_occurred)
return return
} }
val isImage = mimeType.isImageMimeType() val isImage = mimeType.isImageMimeType()
@ -1302,7 +1302,7 @@ class ThreadActivity : SimpleActivity() {
outputStream = contentResolver.openOutputStream(Uri.parse(resultData.dataString!!), "rwt") outputStream = contentResolver.openOutputStream(Uri.parse(resultData.dataString!!), "rwt")
inputStream!!.copyTo(outputStream!!) inputStream!!.copyTo(outputStream!!)
outputStream.flush() outputStream.flush()
toast(com.simplemobiletools.commons.R.string.file_saved) toast(org.fossify.commons.R.string.file_saved)
} catch (e: Exception) { } catch (e: Exception) {
showErrorToast(e) showErrorToast(e)
} finally { } finally {
@ -1331,7 +1331,7 @@ class ThreadActivity : SimpleActivity() {
private fun sendMessage() { private fun sendMessage() {
var text = binding.messageHolder.threadTypeMessage.value var text = binding.messageHolder.threadTypeMessage.value
if (text.isEmpty() && getAttachmentSelections().isEmpty()) { 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 return
} }
scrollToBottom() scrollToBottom()
@ -1379,7 +1379,7 @@ class ThreadActivity : SimpleActivity() {
} }
} }
} catch (e: Exception) { } 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) { } catch (e: Exception) {
showErrorToast(e) showErrorToast(e)
} catch (e: Error) { } 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 newLinearLayout.orientation = LinearLayout.HORIZONTAL
val sideMargin = (binding.selectedContacts.layoutParams as RelativeLayout.LayoutParams).leftMargin 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 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 widthSoFar = 0
var isFirstRow = true var isFirstRow = true
@ -1529,7 +1529,7 @@ class ThreadActivity : SimpleActivity() {
type = mimeType type = mimeType
addCategory(Intent.CATEGORY_OPENABLE) addCategory(Intent.CATEGORY_OPENABLE)
putExtra(Intent.EXTRA_TITLE, path.split("/").last()) 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( val items = arrayListOf(
RadioItem(TYPE_EDIT, getString(R.string.update_message)), RadioItem(TYPE_EDIT, getString(R.string.update_message)),
RadioItem(TYPE_SEND, getString(R.string.send_now)), 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 -> RadioGroupDialog(activity = this, items = items, titleId = R.string.scheduled_message) { any ->
when (any as Int) { when (any as Int) {
@ -1733,14 +1733,14 @@ class ThreadActivity : SimpleActivity() {
private fun setupAttachmentPickerView() = binding.messageHolder.attachmentPicker.apply { private fun setupAttachmentPickerView() = binding.messageHolder.attachmentPicker.apply {
val buttonColors = arrayOf( val buttonColors = arrayOf(
com.simplemobiletools.commons.R.color.md_red_500, org.fossify.commons.R.color.md_red_500,
com.simplemobiletools.commons.R.color.md_brown_500, org.fossify.commons.R.color.md_brown_500,
com.simplemobiletools.commons.R.color.md_pink_500, org.fossify.commons.R.color.md_pink_500,
com.simplemobiletools.commons.R.color.md_purple_500, org.fossify.commons.R.color.md_purple_500,
com.simplemobiletools.commons.R.color.md_teal_500, org.fossify.commons.R.color.md_teal_500,
com.simplemobiletools.commons.R.color.md_green_500, org.fossify.commons.R.color.md_green_500,
com.simplemobiletools.commons.R.color.md_indigo_500, org.fossify.commons.R.color.md_indigo_500,
com.simplemobiletools.commons.R.color.md_blue_500 org.fossify.commons.R.color.md_blue_500
).map { ResourcesCompat.getColor(resources, it, theme) } ).map { ResourcesCompat.getColor(resources, it, theme) }
arrayOf( arrayOf(
choosePhotoIcon, choosePhotoIcon,
@ -1869,7 +1869,7 @@ class ThreadActivity : SimpleActivity() {
} }
private fun getBottomBarColor() = if (baseConfig.isUsingSystemTheme) { 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 { } else {
getBottomNavigationBackgroundColor() getBottomNavigationBackgroundColor()
} }

View file

@ -1,23 +1,23 @@
package com.simplemobiletools.smsmessenger.activities package org.fossify.smsmessenger.activities
import android.content.Intent import android.content.Intent
import android.net.Uri import android.net.Uri
import android.os.Bundle 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.VCard
import ezvcard.property.Email import ezvcard.property.Email
import ezvcard.property.Telephone 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() { class VCardViewerActivity : SimpleActivity() {

View file

@ -1,16 +1,16 @@
package com.simplemobiletools.smsmessenger.adapters package org.fossify.smsmessenger.adapters
import android.view.Menu import android.view.Menu
import com.simplemobiletools.commons.dialogs.ConfirmationDialog import org.fossify.commons.dialogs.ConfirmationDialog
import com.simplemobiletools.commons.extensions.notificationManager import org.fossify.commons.extensions.notificationManager
import com.simplemobiletools.commons.helpers.ensureBackgroundThread import org.fossify.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.commons.views.MyRecyclerView import org.fossify.commons.views.MyRecyclerView
import com.simplemobiletools.smsmessenger.R import org.fossify.smsmessenger.R
import com.simplemobiletools.smsmessenger.activities.SimpleActivity import org.fossify.smsmessenger.activities.SimpleActivity
import com.simplemobiletools.smsmessenger.extensions.deleteConversation import org.fossify.smsmessenger.extensions.deleteConversation
import com.simplemobiletools.smsmessenger.extensions.updateConversationArchivedStatus import org.fossify.smsmessenger.extensions.updateConversationArchivedStatus
import com.simplemobiletools.smsmessenger.helpers.refreshMessages import org.fossify.smsmessenger.helpers.refreshMessages
import com.simplemobiletools.smsmessenger.models.Conversation import org.fossify.smsmessenger.models.Conversation
class ArchivedConversationsAdapter( class ArchivedConversationsAdapter(
activity: SimpleActivity, recyclerView: MyRecyclerView, onRefresh: () -> Unit, itemClick: (Any) -> Unit activity: SimpleActivity, recyclerView: MyRecyclerView, onRefresh: () -> Unit, itemClick: (Any) -> Unit
@ -35,7 +35,7 @@ class ArchivedConversationsAdapter(
val itemsCnt = selectedKeys.size val itemsCnt = selectedKeys.size
val items = resources.getQuantityString(R.plurals.delete_conversations, itemsCnt, itemsCnt) 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) val question = String.format(resources.getString(baseString), items)
ConfirmationDialog(activity, question) { 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.content.Intent
import android.graphics.drawable.Drawable 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.RequestListener
import com.bumptech.glide.request.RequestOptions import com.bumptech.glide.request.RequestOptions
import com.bumptech.glide.request.target.Target import com.bumptech.glide.request.target.Target
import com.simplemobiletools.commons.activities.BaseSimpleActivity import org.fossify.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.extensions.* import org.fossify.commons.extensions.*
import com.simplemobiletools.smsmessenger.R import org.fossify.smsmessenger.R
import com.simplemobiletools.smsmessenger.activities.VCardViewerActivity import org.fossify.smsmessenger.activities.VCardViewerActivity
import com.simplemobiletools.smsmessenger.databinding.ItemAttachmentDocumentPreviewBinding import org.fossify.smsmessenger.databinding.ItemAttachmentDocumentPreviewBinding
import com.simplemobiletools.smsmessenger.databinding.ItemAttachmentMediaPreviewBinding import org.fossify.smsmessenger.databinding.ItemAttachmentMediaPreviewBinding
import com.simplemobiletools.smsmessenger.databinding.ItemAttachmentVcardPreviewBinding import org.fossify.smsmessenger.databinding.ItemAttachmentVcardPreviewBinding
import com.simplemobiletools.smsmessenger.extensions.* import org.fossify.smsmessenger.extensions.*
import com.simplemobiletools.smsmessenger.helpers.* import org.fossify.smsmessenger.helpers.*
import com.simplemobiletools.smsmessenger.models.AttachmentSelection import org.fossify.smsmessenger.models.AttachmentSelection
class AttachmentsAdapter( class AttachmentsAdapter(
val activity: BaseSimpleActivity, val activity: BaseSimpleActivity,
@ -72,6 +72,7 @@ class AttachmentsAdapter(
onRemoveButtonClicked = { removeAttachment(attachment) } onRemoveButtonClicked = { removeAttachment(attachment) }
) )
} }
ATTACHMENT_VCARD -> { ATTACHMENT_VCARD -> {
(binding as ItemAttachmentVcardPreviewBinding).setupVCardPreview( (binding as ItemAttachmentVcardPreviewBinding).setupVCardPreview(
activity = activity, activity = activity,
@ -85,6 +86,7 @@ class AttachmentsAdapter(
onRemoveButtonClicked = { removeAttachment(attachment) } onRemoveButtonClicked = { removeAttachment(attachment) }
) )
} }
ATTACHMENT_MEDIA -> setupMediaPreview( ATTACHMENT_MEDIA -> setupMediaPreview(
binding = binding as ItemAttachmentMediaPreviewBinding, binding = binding as ItemAttachmentMediaPreviewBinding,
attachment = attachment attachment = attachment
@ -164,7 +166,7 @@ class AttachmentsAdapter(
} }
private fun loadMediaPreview(binding: ItemAttachmentMediaPreviewBinding, attachment: AttachmentSelection) { 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 size = resources.getDimension(R.dimen.attachment_preview_size).toInt()
val options = RequestOptions() val options = RequestOptions()
@ -179,7 +181,7 @@ class AttachmentsAdapter(
.listener(object : RequestListener<Drawable> { .listener(object : RequestListener<Drawable> {
override fun onLoadFailed(e: GlideException?, model: Any?, target: Target<Drawable>, isFirstResource: Boolean): Boolean { override fun onLoadFailed(e: GlideException?, model: Any?, target: Target<Drawable>, isFirstResource: Boolean): Boolean {
removeAttachment(attachment) removeAttachment(attachment)
activity.toast(com.simplemobiletools.commons.R.string.unknown_error_occurred) activity.toast(org.fossify.commons.R.string.unknown_error_occurred)
return false 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.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.ArrayAdapter import android.widget.ArrayAdapter
import android.widget.Filter import android.widget.Filter
import com.simplemobiletools.commons.databinding.ItemContactWithNumberBinding import org.fossify.commons.databinding.ItemContactWithNumberBinding
import com.simplemobiletools.commons.extensions.darkenColor import org.fossify.commons.extensions.darkenColor
import com.simplemobiletools.commons.extensions.getContrastColor import org.fossify.commons.extensions.getContrastColor
import com.simplemobiletools.commons.extensions.getProperBackgroundColor import org.fossify.commons.extensions.getProperBackgroundColor
import com.simplemobiletools.commons.extensions.normalizeString import org.fossify.commons.extensions.normalizeString
import com.simplemobiletools.commons.helpers.SimpleContactsHelper import org.fossify.commons.helpers.SimpleContactsHelper
import com.simplemobiletools.commons.models.SimpleContact import org.fossify.commons.models.SimpleContact
import com.simplemobiletools.smsmessenger.activities.SimpleActivity import org.fossify.smsmessenger.activities.SimpleActivity
class AutoCompleteTextViewAdapter(val activity: SimpleActivity, val contacts: ArrayList<SimpleContact>) : ArrayAdapter<SimpleContact>(activity, 0, contacts) { class AutoCompleteTextViewAdapter(val activity: SimpleActivity, val contacts: ArrayList<SimpleContact>) : ArrayAdapter<SimpleContact>(activity, 0, contacts) {
var resultList = ArrayList<SimpleContact>() 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.graphics.Typeface
import android.os.Parcelable import android.os.Parcelable
@ -9,15 +9,16 @@ import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.bumptech.glide.Glide import com.bumptech.glide.Glide
import com.qtalk.recyclerviewfastscroller.RecyclerViewFastScroller import com.qtalk.recyclerviewfastscroller.RecyclerViewFastScroller
import com.simplemobiletools.commons.adapters.MyRecyclerViewListAdapter import org.fossify.commons.adapters.MyRecyclerViewListAdapter
import com.simplemobiletools.commons.extensions.* import org.fossify.commons.extensions.*
import com.simplemobiletools.commons.helpers.SimpleContactsHelper import org.fossify.commons.helpers.SimpleContactsHelper
import com.simplemobiletools.commons.helpers.ensureBackgroundThread import org.fossify.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.commons.views.MyRecyclerView import org.fossify.commons.views.MyRecyclerView
import com.simplemobiletools.smsmessenger.activities.SimpleActivity import org.fossify.smsmessenger.activities.SimpleActivity
import com.simplemobiletools.smsmessenger.databinding.ItemConversationBinding import org.fossify.smsmessenger.databinding.ItemConversationBinding
import com.simplemobiletools.smsmessenger.extensions.* import org.fossify.smsmessenger.extensions.config
import com.simplemobiletools.smsmessenger.models.Conversation import org.fossify.smsmessenger.extensions.getAllDrafts
import org.fossify.smsmessenger.models.Conversation
@Suppress("LeakingThis") @Suppress("LeakingThis")
abstract class BaseConversationsAdapter( 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.text.TextUtils
import android.util.TypedValue import android.util.TypedValue
@ -6,13 +6,13 @@ import android.view.Menu
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import com.bumptech.glide.Glide import com.bumptech.glide.Glide
import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter import org.fossify.commons.adapters.MyRecyclerViewAdapter
import com.simplemobiletools.commons.databinding.ItemContactWithNumberBinding import org.fossify.commons.databinding.ItemContactWithNumberBinding
import com.simplemobiletools.commons.extensions.getTextSize import org.fossify.commons.extensions.getTextSize
import com.simplemobiletools.commons.helpers.SimpleContactsHelper import org.fossify.commons.helpers.SimpleContactsHelper
import com.simplemobiletools.commons.models.SimpleContact import org.fossify.commons.models.SimpleContact
import com.simplemobiletools.commons.views.MyRecyclerView import org.fossify.commons.views.MyRecyclerView
import com.simplemobiletools.smsmessenger.activities.SimpleActivity import org.fossify.smsmessenger.activities.SimpleActivity
class ContactsAdapter( class ContactsAdapter(
activity: SimpleActivity, var contacts: ArrayList<SimpleContact>, recyclerView: MyRecyclerView, itemClick: (Any) -> Unit 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.content.Intent
import android.text.TextUtils import android.text.TextUtils
import android.view.Menu import android.view.Menu
import com.simplemobiletools.commons.dialogs.ConfirmationDialog import org.fossify.commons.dialogs.ConfirmationDialog
import com.simplemobiletools.commons.dialogs.FeatureLockedDialog import org.fossify.commons.dialogs.FeatureLockedDialog
import com.simplemobiletools.commons.extensions.* import org.fossify.commons.extensions.*
import com.simplemobiletools.commons.helpers.KEY_PHONE import org.fossify.commons.helpers.KEY_PHONE
import com.simplemobiletools.commons.helpers.ensureBackgroundThread import org.fossify.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.commons.helpers.isNougatPlus import org.fossify.commons.helpers.isNougatPlus
import com.simplemobiletools.commons.views.MyRecyclerView import org.fossify.commons.views.MyRecyclerView
import com.simplemobiletools.smsmessenger.R import org.fossify.smsmessenger.R
import com.simplemobiletools.smsmessenger.activities.SimpleActivity import org.fossify.smsmessenger.activities.SimpleActivity
import com.simplemobiletools.smsmessenger.dialogs.RenameConversationDialog import org.fossify.smsmessenger.dialogs.RenameConversationDialog
import com.simplemobiletools.smsmessenger.extensions.* import org.fossify.smsmessenger.extensions.*
import com.simplemobiletools.smsmessenger.helpers.refreshMessages import org.fossify.smsmessenger.helpers.refreshMessages
import com.simplemobiletools.smsmessenger.messaging.isShortCodeWithLetters import org.fossify.smsmessenger.messaging.isShortCodeWithLetters
import com.simplemobiletools.smsmessenger.models.Conversation import org.fossify.smsmessenger.models.Conversation
class ConversationsAdapter( class ConversationsAdapter(
activity: SimpleActivity, recyclerView: MyRecyclerView, onRefresh: () -> Unit, itemClick: (Any) -> Unit activity: SimpleActivity, recyclerView: MyRecyclerView, onRefresh: () -> Unit, itemClick: (Any) -> Unit
@ -31,7 +31,7 @@ class ConversationsAdapter(
val archiveAvailable = activity.config.isArchiveAvailable val archiveAvailable = activity.config.isArchiveAvailable
menu.apply { 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_block_number).isVisible = isNougatPlus()
findItem(R.id.cab_add_number_to_contact).isVisible = isSingleSelection && !isGroupConversation findItem(R.id.cab_add_number_to_contact).isVisible = isSingleSelection && !isGroupConversation
findItem(R.id.cab_dial_number).isVisible = isSingleSelection && !isGroupConversation && !isShortCodeWithLetters(selectedConversation.phoneNumber) findItem(R.id.cab_dial_number).isVisible = isSingleSelection && !isGroupConversation && !isShortCodeWithLetters(selectedConversation.phoneNumber)
@ -76,7 +76,7 @@ class ConversationsAdapter(
private fun askConfirmBlock() { private fun askConfirmBlock() {
val numbers = getSelectedItems().distinctBy { it.phoneNumber }.map { it.phoneNumber } val numbers = getSelectedItems().distinctBy { it.phoneNumber }.map { it.phoneNumber }
val numbersString = TextUtils.join(", ", numbers) 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) { ConfirmationDialog(activity, question) {
blockNumbers() blockNumbers()
@ -120,7 +120,7 @@ class ConversationsAdapter(
val itemsCnt = selectedKeys.size val itemsCnt = selectedKeys.size
val items = resources.getQuantityString(R.plurals.delete_conversations, itemsCnt, itemsCnt) 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) val question = String.format(resources.getString(baseString), items)
ConfirmationDialog(activity, question) { ConfirmationDialog(activity, question) {

View file

@ -1,16 +1,16 @@
package com.simplemobiletools.smsmessenger.adapters package org.fossify.smsmessenger.adapters
import android.view.Menu import android.view.Menu
import com.simplemobiletools.commons.dialogs.ConfirmationDialog import org.fossify.commons.dialogs.ConfirmationDialog
import com.simplemobiletools.commons.extensions.notificationManager import org.fossify.commons.extensions.notificationManager
import com.simplemobiletools.commons.helpers.ensureBackgroundThread import org.fossify.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.commons.views.MyRecyclerView import org.fossify.commons.views.MyRecyclerView
import com.simplemobiletools.smsmessenger.R import org.fossify.smsmessenger.R
import com.simplemobiletools.smsmessenger.activities.SimpleActivity import org.fossify.smsmessenger.activities.SimpleActivity
import com.simplemobiletools.smsmessenger.extensions.deleteConversation import org.fossify.smsmessenger.extensions.deleteConversation
import com.simplemobiletools.smsmessenger.extensions.restoreAllMessagesFromRecycleBinForConversation import org.fossify.smsmessenger.extensions.restoreAllMessagesFromRecycleBinForConversation
import com.simplemobiletools.smsmessenger.helpers.refreshMessages import org.fossify.smsmessenger.helpers.refreshMessages
import com.simplemobiletools.smsmessenger.models.Conversation import org.fossify.smsmessenger.models.Conversation
class RecycleBinConversationsAdapter( class RecycleBinConversationsAdapter(
activity: SimpleActivity, recyclerView: MyRecyclerView, onRefresh: () -> Unit, itemClick: (Any) -> Unit activity: SimpleActivity, recyclerView: MyRecyclerView, onRefresh: () -> Unit, itemClick: (Any) -> Unit
@ -35,7 +35,7 @@ class RecycleBinConversationsAdapter(
val itemsCnt = selectedKeys.size val itemsCnt = selectedKeys.size
val items = resources.getQuantityString(R.plurals.delete_conversations, itemsCnt, itemsCnt) 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) val question = String.format(resources.getString(baseString), items)
ConfirmationDialog(activity, question) { 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.util.TypedValue
import android.view.Menu import android.view.Menu
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import com.bumptech.glide.Glide import com.bumptech.glide.Glide
import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter import org.fossify.commons.adapters.MyRecyclerViewAdapter
import com.simplemobiletools.commons.extensions.getTextSize import org.fossify.commons.extensions.getTextSize
import com.simplemobiletools.commons.extensions.highlightTextPart import org.fossify.commons.extensions.highlightTextPart
import com.simplemobiletools.commons.helpers.SimpleContactsHelper import org.fossify.commons.helpers.SimpleContactsHelper
import com.simplemobiletools.commons.views.MyRecyclerView import org.fossify.commons.views.MyRecyclerView
import com.simplemobiletools.smsmessenger.activities.SimpleActivity import org.fossify.smsmessenger.activities.SimpleActivity
import com.simplemobiletools.smsmessenger.databinding.ItemSearchResultBinding import org.fossify.smsmessenger.databinding.ItemSearchResultBinding
import com.simplemobiletools.smsmessenger.models.SearchResult import org.fossify.smsmessenger.models.SearchResult
class SearchResultsAdapter( class SearchResultsAdapter(
activity: SimpleActivity, var searchResults: ArrayList<SearchResult>, recyclerView: MyRecyclerView, highlightText: String, itemClick: (Any) -> Unit 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.annotation.SuppressLint
import android.content.Intent 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.RequestListener
import com.bumptech.glide.request.RequestOptions import com.bumptech.glide.request.RequestOptions
import com.bumptech.glide.request.target.Target import com.bumptech.glide.request.target.Target
import com.simplemobiletools.commons.adapters.MyRecyclerViewListAdapter import org.fossify.commons.adapters.MyRecyclerViewListAdapter
import com.simplemobiletools.commons.dialogs.ConfirmationDialog import org.fossify.commons.dialogs.ConfirmationDialog
import com.simplemobiletools.commons.extensions.* import org.fossify.commons.extensions.*
import com.simplemobiletools.commons.helpers.SimpleContactsHelper import org.fossify.commons.helpers.SimpleContactsHelper
import com.simplemobiletools.commons.helpers.ensureBackgroundThread import org.fossify.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.commons.views.MyRecyclerView import org.fossify.commons.views.MyRecyclerView
import com.simplemobiletools.smsmessenger.R import org.fossify.smsmessenger.R
import com.simplemobiletools.smsmessenger.activities.NewConversationActivity import org.fossify.smsmessenger.activities.NewConversationActivity
import com.simplemobiletools.smsmessenger.activities.SimpleActivity import org.fossify.smsmessenger.activities.SimpleActivity
import com.simplemobiletools.smsmessenger.activities.ThreadActivity import org.fossify.smsmessenger.activities.ThreadActivity
import com.simplemobiletools.smsmessenger.activities.VCardViewerActivity import org.fossify.smsmessenger.activities.VCardViewerActivity
import com.simplemobiletools.smsmessenger.databinding.* import org.fossify.smsmessenger.databinding.*
import com.simplemobiletools.smsmessenger.dialogs.DeleteConfirmationDialog import org.fossify.smsmessenger.dialogs.DeleteConfirmationDialog
import com.simplemobiletools.smsmessenger.dialogs.MessageDetailsDialog import org.fossify.smsmessenger.dialogs.MessageDetailsDialog
import com.simplemobiletools.smsmessenger.dialogs.SelectTextDialog import org.fossify.smsmessenger.dialogs.SelectTextDialog
import com.simplemobiletools.smsmessenger.extensions.* import org.fossify.smsmessenger.extensions.*
import com.simplemobiletools.smsmessenger.helpers.* import org.fossify.smsmessenger.helpers.*
import com.simplemobiletools.smsmessenger.models.Attachment import org.fossify.smsmessenger.models.Attachment
import com.simplemobiletools.smsmessenger.models.Message import org.fossify.smsmessenger.models.Message
import com.simplemobiletools.smsmessenger.models.ThreadItem import org.fossify.smsmessenger.models.ThreadItem
import com.simplemobiletools.smsmessenger.models.ThreadItem.* import org.fossify.smsmessenger.models.ThreadItem.*
class ThreadAdapter( class ThreadAdapter(
activity: SimpleActivity, activity: SimpleActivity,
@ -203,9 +203,9 @@ class ThreadAdapter(
} }
val baseString = if (activity.config.useRecycleBin && !isRecycleBin) { 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 { } else {
com.simplemobiletools.commons.R.string.deletion_confirmation org.fossify.commons.R.string.deletion_confirmation
} }
val question = String.format(resources.getString(baseString), items) val question = String.format(resources.getString(baseString), items)
@ -384,7 +384,7 @@ class ThreadAdapter(
if (message.isScheduled) { if (message.isScheduled) {
typeface = Typeface.create(Typeface.DEFAULT, Typeface.ITALIC) 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) applyColorFilter(contrastColor)
val size = lineHeight val size = lineHeight
setBounds(0, 0, size, size) setBounds(0, 0, size, size)
@ -523,7 +523,7 @@ class ThreadAdapter(
private fun setupThreadSuccess(view: View, isDelivered: Boolean) { private fun setupThreadSuccess(view: View, isDelivered: Boolean) {
ItemThreadSuccessBinding.bind(view).apply { 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) 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.util.TypedValue
import android.view.ViewGroup 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.bitmap.RoundedCorners
import com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions import com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions
import com.bumptech.glide.request.RequestOptions import com.bumptech.glide.request.RequestOptions
import com.simplemobiletools.commons.extensions.* import org.fossify.commons.extensions.*
import com.simplemobiletools.commons.helpers.SimpleContactsHelper import org.fossify.commons.helpers.SimpleContactsHelper
import com.simplemobiletools.smsmessenger.R import org.fossify.smsmessenger.R
import com.simplemobiletools.smsmessenger.activities.SimpleActivity import org.fossify.smsmessenger.activities.SimpleActivity
import com.simplemobiletools.smsmessenger.databinding.ItemVcardContactBinding import org.fossify.smsmessenger.databinding.ItemVcardContactBinding
import com.simplemobiletools.smsmessenger.databinding.ItemVcardContactPropertyBinding import org.fossify.smsmessenger.databinding.ItemVcardContactPropertyBinding
import com.simplemobiletools.smsmessenger.models.VCardPropertyWrapper import org.fossify.smsmessenger.models.VCardPropertyWrapper
import com.simplemobiletools.smsmessenger.models.VCardWrapper import org.fossify.smsmessenger.models.VCardWrapper
private const val TYPE_VCARD_CONTACT = 1 private const val TYPE_VCARD_CONTACT = 1
private const val TYPE_VCARD_CONTACT_PROPERTY = 2 private const val TYPE_VCARD_CONTACT_PROPERTY = 2
@ -44,9 +44,11 @@ class VCardViewerAdapter(
TYPE_VCARD_CONTACT -> VCardContactViewHolder( TYPE_VCARD_CONTACT -> VCardContactViewHolder(
binding = ItemVcardContactBinding.inflate(layoutInflater, parent, false) binding = ItemVcardContactBinding.inflate(layoutInflater, parent, false)
) )
TYPE_VCARD_CONTACT_PROPERTY -> VCardPropertyViewHolder( TYPE_VCARD_CONTACT_PROPERTY -> VCardPropertyViewHolder(
binding = ItemVcardContactPropertyBinding.inflate(layoutInflater, parent, false) binding = ItemVcardContactPropertyBinding.inflate(layoutInflater, parent, false)
) )
else -> throw IllegalArgumentException("Unexpected type: $viewType") else -> throw IllegalArgumentException("Unexpected type: $viewType")
} }
} }
@ -76,7 +78,7 @@ class VCardViewerAdapter(
null 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 transformation = RoundedCorners(roundingRadius)
val options = RequestOptions() val options = RequestOptions()
.diskCacheStrategy(DiskCacheStrategy.RESOURCE) .diskCacheStrategy(DiskCacheStrategy.RESOURCE)

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.databases package org.fossify.smsmessenger.databases
import android.content.Context import android.content.Context
import androidx.room.Database import androidx.room.Database
@ -7,12 +7,12 @@ import androidx.room.RoomDatabase
import androidx.room.TypeConverters import androidx.room.TypeConverters
import androidx.room.migration.Migration import androidx.room.migration.Migration
import androidx.sqlite.db.SupportSQLiteDatabase import androidx.sqlite.db.SupportSQLiteDatabase
import com.simplemobiletools.smsmessenger.helpers.Converters import org.fossify.smsmessenger.helpers.Converters
import com.simplemobiletools.smsmessenger.interfaces.AttachmentsDao import org.fossify.smsmessenger.interfaces.AttachmentsDao
import com.simplemobiletools.smsmessenger.interfaces.ConversationsDao import org.fossify.smsmessenger.interfaces.ConversationsDao
import com.simplemobiletools.smsmessenger.interfaces.MessageAttachmentsDao import org.fossify.smsmessenger.interfaces.MessageAttachmentsDao
import com.simplemobiletools.smsmessenger.interfaces.MessagesDao import org.fossify.smsmessenger.interfaces.MessagesDao
import com.simplemobiletools.smsmessenger.models.* import org.fossify.smsmessenger.models.*
@Database(entities = [Conversation::class, Attachment::class, MessageAttachment::class, Message::class, RecycleBinMessage::class], version = 8) @Database(entities = [Conversation::class, Attachment::class, MessageAttachment::class, Message::class, RecycleBinMessage::class], version = 8)
@TypeConverters(Converters::class) @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 androidx.appcompat.app.AlertDialog
import com.simplemobiletools.commons.activities.BaseSimpleActivity import org.fossify.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.extensions.getAlertDialogBuilder import org.fossify.commons.extensions.getAlertDialogBuilder
import com.simplemobiletools.commons.extensions.setupDialogStuff import org.fossify.commons.extensions.setupDialogStuff
import com.simplemobiletools.commons.extensions.showKeyboard import org.fossify.commons.extensions.showKeyboard
import com.simplemobiletools.commons.extensions.value import org.fossify.commons.extensions.value
import com.simplemobiletools.smsmessenger.databinding.DialogAddBlockedKeywordBinding import org.fossify.smsmessenger.databinding.DialogAddBlockedKeywordBinding
import com.simplemobiletools.smsmessenger.extensions.config import org.fossify.smsmessenger.extensions.config
class AddBlockedKeywordDialog(val activity: BaseSimpleActivity, private val originalKeyword: String? = null, val callback: () -> Unit) { class AddBlockedKeywordDialog(val activity: BaseSimpleActivity, private val originalKeyword: String? = null, val callback: () -> Unit) {
init { init {
@ -18,8 +18,8 @@ class AddBlockedKeywordDialog(val activity: BaseSimpleActivity, private val orig
} }
activity.getAlertDialogBuilder() activity.getAlertDialogBuilder()
.setPositiveButton(com.simplemobiletools.commons.R.string.ok, null) .setPositiveButton(org.fossify.commons.R.string.ok, null)
.setNegativeButton(com.simplemobiletools.commons.R.string.cancel, null) .setNegativeButton(org.fossify.commons.R.string.cancel, null)
.apply { .apply {
activity.setupDialogStuff(binding.root, this) { alertDialog -> activity.setupDialogStuff(binding.root, this) { alertDialog ->
alertDialog.showKeyboard(binding.addBlockedKeywordEdittext) 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 android.app.Activity
import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AlertDialog
import com.simplemobiletools.commons.extensions.beGoneIf import org.fossify.commons.extensions.beGoneIf
import com.simplemobiletools.commons.extensions.getAlertDialogBuilder import org.fossify.commons.extensions.getAlertDialogBuilder
import com.simplemobiletools.commons.extensions.setupDialogStuff import org.fossify.commons.extensions.setupDialogStuff
import com.simplemobiletools.smsmessenger.databinding.DialogDeleteConfirmationBinding import org.fossify.smsmessenger.databinding.DialogDeleteConfirmationBinding
class DeleteConfirmationDialog( class DeleteConfirmationDialog(
private val activity: Activity, private val activity: Activity,
@ -21,8 +21,8 @@ class DeleteConfirmationDialog(
binding.deleteRememberTitle.text = message binding.deleteRememberTitle.text = message
binding.skipTheRecycleBinCheckbox.beGoneIf(!showSkipRecycleBinOption) binding.skipTheRecycleBinCheckbox.beGoneIf(!showSkipRecycleBinOption)
activity.getAlertDialogBuilder() activity.getAlertDialogBuilder()
.setPositiveButton(com.simplemobiletools.commons.R.string.yes) { _, _ -> dialogConfirmed() } .setPositiveButton(org.fossify.commons.R.string.yes) { _, _ -> dialogConfirmed() }
.setNegativeButton(com.simplemobiletools.commons.R.string.no, null) .setNegativeButton(org.fossify.commons.R.string.no, null)
.apply { .apply {
activity.setupDialogStuff(binding.root, this) { alertDialog -> activity.setupDialogStuff(binding.root, this) { alertDialog ->
dialog = 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 androidx.appcompat.app.AlertDialog
import com.simplemobiletools.commons.extensions.* import org.fossify.commons.extensions.*
import com.simplemobiletools.smsmessenger.R import org.fossify.smsmessenger.R
import com.simplemobiletools.smsmessenger.activities.SimpleActivity import org.fossify.smsmessenger.activities.SimpleActivity
import com.simplemobiletools.smsmessenger.databinding.DialogExportMessagesBinding import org.fossify.smsmessenger.databinding.DialogExportMessagesBinding
import com.simplemobiletools.smsmessenger.extensions.config import org.fossify.smsmessenger.extensions.config
class ExportMessagesDialog( class ExportMessagesDialog(
private val activity: SimpleActivity, private val activity: SimpleActivity,
@ -23,8 +23,8 @@ class ExportMessagesDialog(
} }
activity.getAlertDialogBuilder() activity.getAlertDialogBuilder()
.setPositiveButton(com.simplemobiletools.commons.R.string.ok, null) .setPositiveButton(org.fossify.commons.R.string.ok, null)
.setNegativeButton(com.simplemobiletools.commons.R.string.cancel, null) .setNegativeButton(org.fossify.commons.R.string.cancel, null)
.apply { .apply {
activity.setupDialogStuff(binding.root, this, R.string.export_messages) { alertDialog -> activity.setupDialogStuff(binding.root, this, R.string.export_messages) { alertDialog ->
alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener { alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener {
@ -32,13 +32,13 @@ class ExportMessagesDialog(
config.exportMms = binding.exportMmsCheckbox.isChecked config.exportMms = binding.exportMmsCheckbox.isChecked
val filename = binding.exportMessagesFilename.value val filename = binding.exportMessagesFilename.value
when { 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() -> { filename.isAValidFilename() -> {
callback(filename) callback(filename)
alertDialog.dismiss() 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 androidx.appcompat.app.AlertDialog
import com.simplemobiletools.commons.extensions.getAlertDialogBuilder import org.fossify.commons.extensions.getAlertDialogBuilder
import com.simplemobiletools.commons.extensions.setupDialogStuff import org.fossify.commons.extensions.setupDialogStuff
import com.simplemobiletools.commons.extensions.toast import org.fossify.commons.extensions.toast
import com.simplemobiletools.commons.helpers.ensureBackgroundThread import org.fossify.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.smsmessenger.R import org.fossify.smsmessenger.R
import com.simplemobiletools.smsmessenger.activities.SimpleActivity import org.fossify.smsmessenger.activities.SimpleActivity
import com.simplemobiletools.smsmessenger.databinding.DialogImportMessagesBinding import org.fossify.smsmessenger.databinding.DialogImportMessagesBinding
import com.simplemobiletools.smsmessenger.extensions.config import org.fossify.smsmessenger.extensions.config
import com.simplemobiletools.smsmessenger.helpers.MessagesImporter import org.fossify.smsmessenger.helpers.MessagesImporter
import com.simplemobiletools.smsmessenger.models.ImportResult import org.fossify.smsmessenger.models.ImportResult
import com.simplemobiletools.smsmessenger.models.MessagesBackup import org.fossify.smsmessenger.models.MessagesBackup
class ImportMessagesDialog( class ImportMessagesDialog(
private val activity: SimpleActivity, private val activity: SimpleActivity,
@ -28,8 +28,8 @@ class ImportMessagesDialog(
} }
activity.getAlertDialogBuilder() activity.getAlertDialogBuilder()
.setPositiveButton(com.simplemobiletools.commons.R.string.ok, null) .setPositiveButton(org.fossify.commons.R.string.ok, null)
.setNegativeButton(com.simplemobiletools.commons.R.string.cancel, null) .setNegativeButton(org.fossify.commons.R.string.cancel, null)
.apply { .apply {
activity.setupDialogStuff(binding.root, this, R.string.import_messages) { alertDialog -> activity.setupDialogStuff(binding.root, this, R.string.import_messages) { alertDialog ->
alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener { alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener {
@ -43,7 +43,7 @@ class ImportMessagesDialog(
} }
ignoreClicks = true ignoreClicks = true
activity.toast(com.simplemobiletools.commons.R.string.importing) activity.toast(org.fossify.commons.R.string.importing)
config.importSms = binding.importSmsCheckbox.isChecked config.importSms = binding.importSmsCheckbox.isChecked
config.importMms = binding.importMmsCheckbox.isChecked config.importMms = binding.importMmsCheckbox.isChecked
ensureBackgroundThread { ensureBackgroundThread {
@ -60,10 +60,10 @@ class ImportMessagesDialog(
private fun handleParseResult(result: ImportResult) { private fun handleParseResult(result: ImportResult) {
activity.toast( activity.toast(
when (result) { when (result) {
ImportResult.IMPORT_OK -> com.simplemobiletools.commons.R.string.importing_successful ImportResult.IMPORT_OK -> org.fossify.commons.R.string.importing_successful
ImportResult.IMPORT_PARTIAL -> com.simplemobiletools.commons.R.string.importing_some_entries_failed ImportResult.IMPORT_PARTIAL -> org.fossify.commons.R.string.importing_some_entries_failed
ImportResult.IMPORT_FAIL -> com.simplemobiletools.commons.R.string.importing_failed ImportResult.IMPORT_FAIL -> org.fossify.commons.R.string.importing_failed
else -> com.simplemobiletools.commons.R.string.no_items_found 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.view.*
import android.widget.PopupMenu import android.widget.PopupMenu
import com.simplemobiletools.commons.activities.BaseSimpleActivity import org.fossify.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter import org.fossify.commons.adapters.MyRecyclerViewAdapter
import com.simplemobiletools.commons.extensions.copyToClipboard import org.fossify.commons.extensions.copyToClipboard
import com.simplemobiletools.commons.extensions.getPopupMenuTheme import org.fossify.commons.extensions.getPopupMenuTheme
import com.simplemobiletools.commons.extensions.getProperTextColor import org.fossify.commons.extensions.getProperTextColor
import com.simplemobiletools.commons.extensions.setupViewBackground import org.fossify.commons.extensions.setupViewBackground
import com.simplemobiletools.commons.interfaces.RefreshRecyclerViewListener import org.fossify.commons.interfaces.RefreshRecyclerViewListener
import com.simplemobiletools.commons.views.MyRecyclerView import org.fossify.commons.views.MyRecyclerView
import com.simplemobiletools.smsmessenger.R import org.fossify.smsmessenger.R
import com.simplemobiletools.smsmessenger.databinding.ItemManageBlockedKeywordBinding import org.fossify.smsmessenger.databinding.ItemManageBlockedKeywordBinding
import com.simplemobiletools.smsmessenger.extensions.config import org.fossify.smsmessenger.extensions.config
class ManageBlockedKeywordsAdapter( class ManageBlockedKeywordsAdapter(
activity: BaseSimpleActivity, var blockedKeywords: ArrayList<String>, val listener: RefreshRecyclerViewListener?, 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.annotation.SuppressLint
import android.telephony.SubscriptionInfo import android.telephony.SubscriptionInfo
import com.simplemobiletools.commons.activities.BaseSimpleActivity import org.fossify.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.dialogs.BasePropertiesDialog import org.fossify.commons.dialogs.BasePropertiesDialog
import com.simplemobiletools.commons.extensions.* import org.fossify.commons.extensions.getAlertDialogBuilder
import com.simplemobiletools.smsmessenger.R import org.fossify.commons.extensions.getTimeFormat
import com.simplemobiletools.smsmessenger.extensions.config import org.fossify.commons.extensions.setupDialogStuff
import com.simplemobiletools.smsmessenger.extensions.subscriptionManagerCompat import org.fossify.smsmessenger.R
import com.simplemobiletools.smsmessenger.models.Message import org.fossify.smsmessenger.extensions.config
import org.fossify.smsmessenger.extensions.subscriptionManagerCompat
import org.fossify.smsmessenger.models.Message
import org.joda.time.DateTime import org.joda.time.DateTime
class MessageDetailsDialog(val activity: BaseSimpleActivity, val message: Message) : BasePropertiesDialog(activity) { 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()) addProperty(message.getSentOrReceivedAtLabel(), message.getSentOrReceivedAt())
activity.getAlertDialogBuilder() activity.getAlertDialogBuilder()
.setPositiveButton(com.simplemobiletools.commons.R.string.ok) { _, _ -> } .setPositiveButton(org.fossify.commons.R.string.ok) { _, _ -> }
.apply { .apply {
activity.setupDialogStuff(mDialogView.root, this, R.string.message_details) 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 { private fun Message.getSIM(availableSIMs: List<SubscriptionInfo>): String {
return availableSIMs.firstOrNull { it.subscriptionId == subscriptionId }?.displayName?.toString() 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 { 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.app.Activity
import android.content.DialogInterface.BUTTON_POSITIVE import android.content.DialogInterface.BUTTON_POSITIVE
import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AlertDialog
import com.simplemobiletools.commons.extensions.getAlertDialogBuilder import org.fossify.commons.extensions.getAlertDialogBuilder
import com.simplemobiletools.commons.extensions.setupDialogStuff import org.fossify.commons.extensions.setupDialogStuff
import com.simplemobiletools.commons.extensions.showKeyboard import org.fossify.commons.extensions.showKeyboard
import com.simplemobiletools.commons.extensions.toast import org.fossify.commons.extensions.toast
import com.simplemobiletools.smsmessenger.R import org.fossify.smsmessenger.R
import com.simplemobiletools.smsmessenger.databinding.DialogRenameConversationBinding import org.fossify.smsmessenger.databinding.DialogRenameConversationBinding
import com.simplemobiletools.smsmessenger.models.Conversation import org.fossify.smsmessenger.models.Conversation
class RenameConversationDialog( class RenameConversationDialog(
private val activity: Activity, private val activity: Activity,
@ -30,8 +30,8 @@ class RenameConversationDialog(
} }
activity.getAlertDialogBuilder() activity.getAlertDialogBuilder()
.setPositiveButton(com.simplemobiletools.commons.R.string.ok, null) .setPositiveButton(org.fossify.commons.R.string.ok, null)
.setNegativeButton(com.simplemobiletools.commons.R.string.cancel, null) .setNegativeButton(org.fossify.commons.R.string.cancel, null)
.apply { .apply {
activity.setupDialogStuff(binding.root, this, R.string.rename_conversation) { alertDialog -> activity.setupDialogStuff(binding.root, this, R.string.rename_conversation) { alertDialog ->
dialog = alertDialog dialog = alertDialog
@ -40,7 +40,7 @@ class RenameConversationDialog(
setOnClickListener { setOnClickListener {
val newTitle = binding.renameConvEditText.text.toString() val newTitle = binding.renameConvEditText.text.toString()
if (newTitle.isEmpty()) { if (newTitle.isEmpty()) {
activity.toast(com.simplemobiletools.commons.R.string.empty_name) activity.toast(org.fossify.commons.R.string.empty_name)
return@setOnClickListener 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
import android.app.DatePickerDialog.OnDateSetListener import android.app.DatePickerDialog.OnDateSetListener
@ -8,12 +8,12 @@ import android.text.format.DateFormat
import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AlertDialog
import com.google.android.material.timepicker.MaterialTimePicker import com.google.android.material.timepicker.MaterialTimePicker
import com.google.android.material.timepicker.TimeFormat import com.google.android.material.timepicker.TimeFormat
import com.simplemobiletools.commons.activities.BaseSimpleActivity import org.fossify.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.extensions.* import org.fossify.commons.extensions.*
import com.simplemobiletools.smsmessenger.R import org.fossify.smsmessenger.R
import com.simplemobiletools.smsmessenger.databinding.ScheduleMessageDialogBinding import org.fossify.smsmessenger.databinding.ScheduleMessageDialogBinding
import com.simplemobiletools.smsmessenger.extensions.config import org.fossify.smsmessenger.extensions.config
import com.simplemobiletools.smsmessenger.extensions.roundToClosestMultipleOf import org.fossify.smsmessenger.extensions.roundToClosestMultipleOf
import org.joda.time.DateTime import org.joda.time.DateTime
import java.util.Calendar import java.util.Calendar
@ -66,8 +66,8 @@ class ScheduleMessageDialog(
} }
activity.getAlertDialogBuilder() activity.getAlertDialogBuilder()
.setPositiveButton(com.simplemobiletools.commons.R.string.ok, null) .setPositiveButton(org.fossify.commons.R.string.ok, null)
.setNegativeButton(com.simplemobiletools.commons.R.string.cancel, null) .setNegativeButton(org.fossify.commons.R.string.cancel, null)
.apply { .apply {
previewShown = true previewShown = true
activity.setupDialogStuff(binding.root, this, R.string.schedule_message) { dialog -> activity.setupDialogStuff(binding.root, this, R.string.schedule_message) { dialog ->
@ -99,7 +99,7 @@ class ScheduleMessageDialog(
datePicker.minDate = System.currentTimeMillis() datePicker.minDate = System.currentTimeMillis()
show() show()
getButton(AlertDialog.BUTTON_NEGATIVE).apply { getButton(AlertDialog.BUTTON_NEGATIVE).apply {
text = activity.getString(com.simplemobiletools.commons.R.string.cancel) text = activity.getString(org.fossify.commons.R.string.cancel)
setOnClickListener { setOnClickListener {
dismiss() dismiss()
} }
@ -136,7 +136,7 @@ class ScheduleMessageDialog(
).apply { ).apply {
show() show()
getButton(AlertDialog.BUTTON_NEGATIVE).apply { getButton(AlertDialog.BUTTON_NEGATIVE).apply {
text = activity.getString(com.simplemobiletools.commons.R.string.cancel) text = activity.getString(org.fossify.commons.R.string.cancel)
setOnClickListener { setOnClickListener {
dismiss() dismiss()
} }

View file

@ -1,9 +1,9 @@
package com.simplemobiletools.smsmessenger.dialogs package org.fossify.smsmessenger.dialogs
import com.simplemobiletools.commons.activities.BaseSimpleActivity import org.fossify.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.extensions.getAlertDialogBuilder import org.fossify.commons.extensions.getAlertDialogBuilder
import com.simplemobiletools.commons.extensions.setupDialogStuff import org.fossify.commons.extensions.setupDialogStuff
import com.simplemobiletools.smsmessenger.databinding.DialogSelectTextBinding import org.fossify.smsmessenger.databinding.DialogSelectTextBinding
// helper dialog for selecting just a part of a message, not copying the whole into clipboard // helper dialog for selecting just a part of a message, not copying the whole into clipboard
class SelectTextDialog(val activity: BaseSimpleActivity, val text: String) { class SelectTextDialog(val activity: BaseSimpleActivity, val text: String) {
@ -13,7 +13,7 @@ class SelectTextDialog(val activity: BaseSimpleActivity, val text: String) {
} }
activity.getAlertDialogBuilder() activity.getAlertDialogBuilder()
.setPositiveButton(com.simplemobiletools.commons.R.string.ok) { _, _ -> { } } .setPositiveButton(org.fossify.commons.R.string.ok) { _, _ -> { } }
.apply { .apply {
activity.setupDialogStuff(binding.root, this) 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.app.Activity
import android.content.ActivityNotFoundException import android.content.ActivityNotFoundException
import android.content.Intent import android.content.Intent
import android.net.Uri import android.net.Uri
import android.provider.ContactsContract import android.provider.ContactsContract
import com.simplemobiletools.commons.extensions.* import org.fossify.commons.extensions.*
import com.simplemobiletools.commons.helpers.CONTACT_ID import org.fossify.commons.helpers.CONTACT_ID
import com.simplemobiletools.commons.helpers.IS_PRIVATE import org.fossify.commons.helpers.IS_PRIVATE
import com.simplemobiletools.commons.helpers.SimpleContactsHelper import org.fossify.commons.helpers.SimpleContactsHelper
import com.simplemobiletools.commons.helpers.ensureBackgroundThread import org.fossify.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.commons.models.SimpleContact import org.fossify.commons.models.SimpleContact
import java.util.Locale import java.util.Locale
fun Activity.dialNumber(phoneNumber: String, callback: (() -> Unit)? = null) { fun Activity.dialNumber(phoneNumber: String, callback: (() -> Unit)? = null) {
@ -22,7 +22,7 @@ fun Activity.dialNumber(phoneNumber: String, callback: (() -> Unit)? = null) {
startActivity(this) startActivity(this)
callback?.invoke() callback?.invoke()
} catch (e: ActivityNotFoundException) { } catch (e: ActivityNotFoundException) {
toast(com.simplemobiletools.commons.R.string.no_app_found) toast(org.fossify.commons.R.string.no_app_found)
} catch (e: Exception) { } catch (e: Exception) {
showErrorToast(e) showErrorToast(e)
} }
@ -43,7 +43,7 @@ fun Activity.launchViewIntent(uri: Uri, mimetype: String, filename: String) {
if (newMimetype.isNotEmpty() && mimetype != newMimetype) { if (newMimetype.isNotEmpty() && mimetype != newMimetype) {
launchViewIntent(uri, newMimetype, filename) launchViewIntent(uri, newMimetype, filename)
} else { } else {
toast(com.simplemobiletools.commons.R.string.no_app_found) toast(org.fossify.commons.R.string.no_app_found)
} }
} catch (e: Exception) { } catch (e: Exception) {
showErrorToast(e) showErrorToast(e)

View file

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

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.extensions package org.fossify.smsmessenger.extensions
import android.content.ContentValues 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.annotation.SuppressLint
import android.app.Application import android.app.Application
@ -20,23 +20,23 @@ import android.text.TextUtils
import com.bumptech.glide.Glide import com.bumptech.glide.Glide
import com.bumptech.glide.load.engine.DiskCacheStrategy import com.bumptech.glide.load.engine.DiskCacheStrategy
import com.bumptech.glide.request.RequestOptions 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 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 import java.io.FileNotFoundException
val Context.config: Config get() = Config.newInstance(applicationContext) val Context.config: Config get() = Config.newInstance(applicationContext)
@ -666,7 +666,7 @@ fun Context.removeAllArchivedConversations(callback: (() -> Unit)? = null) {
toast(R.string.archive_emptied_successfully) toast(R.string.archive_emptied_successfully)
callback?.invoke() callback?.invoke()
} catch (e: Exception) { } 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 android.database.Cursor
import com.google.gson.JsonNull 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 android.text.format.DateFormat
import java.util.* import java.util.Date
fun Date.format(pattern: String): String { fun Date.format(pattern: String): String {
return DateFormat.format(pattern, this).toString() 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 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 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() 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 { fun String.getExtensionFromMimeType(): String {
return when (lowercase()) { 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.animation.ObjectAnimator
import android.view.View 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 com.google.gson.*
import java.math.BigDecimal 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.JsonArray
import com.google.gson.JsonElement 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.JsonDeserializationContext
import com.google.gson.JsonDeserializer import com.google.gson.JsonDeserializer
@ -25,6 +25,7 @@ class MapDeserializerDoubleAsIntFix : JsonDeserializer<Map<String, Any>?> {
} }
return list return list
} }
element.isJsonObject -> { element.isJsonObject -> {
val map: MutableMap<String, Any?> = LinkedTreeMap() val map: MutableMap<String, Any?> = LinkedTreeMap()
val obj = element.asJsonObject val obj = element.asJsonObject
@ -34,15 +35,18 @@ class MapDeserializerDoubleAsIntFix : JsonDeserializer<Map<String, Any>?> {
} }
return map return map
} }
element.isJsonPrimitive -> { element.isJsonPrimitive -> {
val prim = element.asJsonPrimitive val prim = element.asJsonPrimitive
when { when {
prim.isBoolean -> { prim.isBoolean -> {
return prim.asBoolean return prim.asBoolean
} }
prim.isString -> { prim.isString -> {
return prim.asString return prim.asString
} }
prim.isNumber -> { prim.isNumber -> {
val num = prim.asNumber val num = prim.asNumber
// here you can handle double int/long values // 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.app.Activity
import android.net.Uri import android.net.Uri
import com.simplemobiletools.commons.extensions.* import org.fossify.commons.extensions.*
import com.simplemobiletools.commons.helpers.SimpleContactsHelper import org.fossify.commons.helpers.SimpleContactsHelper
import com.simplemobiletools.commons.helpers.ensureBackgroundThread import org.fossify.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.smsmessenger.R import org.fossify.smsmessenger.R
import com.simplemobiletools.smsmessenger.databinding.ItemAttachmentDocumentBinding import org.fossify.smsmessenger.databinding.ItemAttachmentDocumentBinding
import com.simplemobiletools.smsmessenger.databinding.ItemAttachmentDocumentPreviewBinding import org.fossify.smsmessenger.databinding.ItemAttachmentDocumentPreviewBinding
import com.simplemobiletools.smsmessenger.databinding.ItemAttachmentVcardBinding import org.fossify.smsmessenger.databinding.ItemAttachmentVcardBinding
import com.simplemobiletools.smsmessenger.databinding.ItemAttachmentVcardPreviewBinding import org.fossify.smsmessenger.databinding.ItemAttachmentVcardPreviewBinding
import com.simplemobiletools.smsmessenger.extensions.* import org.fossify.smsmessenger.extensions.*
fun ItemAttachmentDocumentPreviewBinding.setupDocumentPreview( fun ItemAttachmentDocumentPreviewBinding.setupDocumentPreview(
uri: Uri, uri: Uri,
@ -124,7 +124,7 @@ fun ItemAttachmentVcardBinding.setupVCardPreview(
activity.runOnUiThread { activity.runOnUiThread {
if (vCards.isEmpty()) { if (vCards.isEmpty()) {
vcardTitle.beVisible() 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 return@runOnUiThread
} }

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.helpers package org.fossify.smsmessenger.helpers
import android.util.Xml import android.util.Xml
import org.xmlpull.v1.XmlPullParser 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 android.content.Context
import com.simplemobiletools.commons.helpers.BaseConfig import org.fossify.commons.helpers.BaseConfig
import com.simplemobiletools.smsmessenger.extensions.getDefaultKeyboardHeight import org.fossify.smsmessenger.extensions.getDefaultKeyboardHeight
import com.simplemobiletools.smsmessenger.models.Conversation import org.fossify.smsmessenger.models.Conversation
class Config(context: Context) : BaseConfig(context) { class Config(context: Context) : BaseConfig(context) {
companion object { 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.greenrobot.eventbus.EventBus
import org.joda.time.DateTime import org.joda.time.DateTime
import org.joda.time.DateTimeZone 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_RECYCLE_BIN = "is_recycle_bin"
const val IS_ARCHIVE_AVAILABLE = "is_archive_available" 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 MARK_AS_READ = PATH + "mark_as_read"
const val REPLY = PATH + "reply" 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 androidx.room.TypeConverter
import com.google.gson.Gson import com.google.gson.Gson
import com.google.gson.reflect.TypeToken import com.google.gson.reflect.TypeToken
import com.simplemobiletools.commons.models.SimpleContact import org.fossify.commons.models.SimpleContact
import com.simplemobiletools.smsmessenger.models.Attachment import org.fossify.smsmessenger.models.Attachment
import com.simplemobiletools.smsmessenger.models.MessageAttachment import org.fossify.smsmessenger.models.MessageAttachment
class Converters { class Converters {
private val gson = Gson() 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.content.Context
import android.graphics.Bitmap import android.graphics.Bitmap
@ -6,13 +6,13 @@ import android.graphics.BitmapFactory
import android.graphics.Matrix import android.graphics.Matrix
import android.media.ExifInterface import android.media.ExifInterface
import android.net.Uri import android.net.Uri
import com.simplemobiletools.commons.extensions.getCompressionFormat import org.fossify.commons.extensions.getCompressionFormat
import com.simplemobiletools.commons.extensions.getMyFileUri import org.fossify.commons.extensions.getMyFileUri
import com.simplemobiletools.commons.helpers.ensureBackgroundThread import org.fossify.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.smsmessenger.extensions.extension import org.fossify.smsmessenger.extensions.extension
import com.simplemobiletools.smsmessenger.extensions.getExtensionFromMimeType import org.fossify.smsmessenger.extensions.getExtensionFromMimeType
import com.simplemobiletools.smsmessenger.extensions.getFileSizeFromUri import org.fossify.smsmessenger.extensions.getFileSizeFromUri
import com.simplemobiletools.smsmessenger.extensions.isImageMimeType import org.fossify.smsmessenger.extensions.isImageMimeType
import java.io.File import java.io.File
import java.io.FileOutputStream import java.io.FileOutputStream
import kotlin.math.roundToInt 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.net.Uri
import android.util.Xml 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.SerializationException
import kotlinx.serialization.json.Json 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 org.xmlpull.v1.XmlPullParser
import java.io.InputStream import java.io.InputStream
@ -27,7 +27,7 @@ class MessagesImporter(private val activity: SimpleActivity) {
val fileType = activity.contentResolver.getType(uri).orEmpty() val fileType = activity.contentResolver.getType(uri).orEmpty()
val isXml = isXmlMimeType(fileType) || (uri.path?.endsWith("txt") == true && isFileXml(uri)) val isXml = isXmlMimeType(fileType) || (uri.path?.endsWith("txt") == true && isFileXml(uri))
if (isXml) { if (isXml) {
activity.toast(com.simplemobiletools.commons.R.string.importing) activity.toast(org.fossify.commons.R.string.importing)
getInputStreamFromUri(uri)!!.importXml() getInputStreamFromUri(uri)!!.importXml()
} else { } else {
importJson(uri) importJson(uri)
@ -45,14 +45,14 @@ class MessagesImporter(private val activity: SimpleActivity) {
val deserializedList = Json.decodeFromString<List<MessagesBackup>>(jsonString) val deserializedList = Json.decodeFromString<List<MessagesBackup>>(jsonString)
if (deserializedList.isEmpty()) { 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 return
} }
ImportMessagesDialog(activity, deserializedList) ImportMessagesDialog(activity, deserializedList)
} catch (e: SerializationException) { } 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) { } 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) { } catch (e: Exception) {
activity.showErrorToast(e) activity.showErrorToast(e)
} }
@ -132,12 +132,12 @@ class MessagesImporter(private val activity: SimpleActivity) {
refreshMessages() refreshMessages()
} }
when { when {
messagesFailed > 0 && messagesImported > 0 -> activity.toast(com.simplemobiletools.commons.R.string.importing_some_entries_failed) messagesFailed > 0 && messagesImported > 0 -> activity.toast(org.fossify.commons.R.string.importing_some_entries_failed)
messagesFailed > 0 -> activity.toast(com.simplemobiletools.commons.R.string.importing_failed) messagesFailed > 0 -> activity.toast(org.fossify.commons.R.string.importing_failed)
else -> activity.toast(com.simplemobiletools.commons.R.string.importing_successful) else -> activity.toast(org.fossify.commons.R.string.importing_successful)
} }
} catch (_: Exception) { } 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.annotation.SuppressLint
import android.content.Context import android.content.Context
@ -6,11 +6,11 @@ import android.net.Uri
import android.provider.Telephony.Mms import android.provider.Telephony.Mms
import android.provider.Telephony.Sms import android.provider.Telephony.Sms
import android.util.Base64 import android.util.Base64
import com.simplemobiletools.commons.extensions.* import org.fossify.commons.extensions.*
import com.simplemobiletools.commons.helpers.isQPlus import org.fossify.commons.helpers.isQPlus
import com.simplemobiletools.commons.helpers.isRPlus import org.fossify.commons.helpers.isRPlus
import com.simplemobiletools.smsmessenger.extensions.getConversationIds import org.fossify.smsmessenger.extensions.getConversationIds
import com.simplemobiletools.smsmessenger.models.* import org.fossify.smsmessenger.models.*
import java.io.IOException import java.io.IOException
import java.io.InputStream 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.annotation.SuppressLint
import android.content.Context import android.content.Context
@ -8,13 +8,13 @@ import android.provider.Telephony.Sms
import android.util.Base64 import android.util.Base64
import com.google.android.mms.pdu_alt.PduHeaders import com.google.android.mms.pdu_alt.PduHeaders
import com.klinker.android.send_message.Utils import com.klinker.android.send_message.Utils
import com.simplemobiletools.commons.extensions.getLongValue import org.fossify.commons.extensions.getLongValue
import com.simplemobiletools.commons.extensions.queryCursor import org.fossify.commons.extensions.queryCursor
import com.simplemobiletools.commons.helpers.isRPlus import org.fossify.commons.helpers.isRPlus
import com.simplemobiletools.smsmessenger.models.MmsAddress import org.fossify.smsmessenger.models.MmsAddress
import com.simplemobiletools.smsmessenger.models.MmsBackup import org.fossify.smsmessenger.models.MmsBackup
import com.simplemobiletools.smsmessenger.models.MmsPart import org.fossify.smsmessenger.models.MmsPart
import com.simplemobiletools.smsmessenger.models.SmsBackup import org.fossify.smsmessenger.models.SmsBackup
class MessagesWriter(private val context: Context) { class MessagesWriter(private val context: Context) {
private val INVALID_ID = -1L 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.annotation.SuppressLint
import android.app.Notification import android.app.Notification
@ -14,18 +14,18 @@ import android.media.RingtoneManager
import androidx.core.app.NotificationCompat import androidx.core.app.NotificationCompat
import androidx.core.app.Person import androidx.core.app.Person
import androidx.core.app.RemoteInput import androidx.core.app.RemoteInput
import com.simplemobiletools.commons.extensions.getProperPrimaryColor import org.fossify.commons.extensions.getProperPrimaryColor
import com.simplemobiletools.commons.extensions.notificationManager import org.fossify.commons.extensions.notificationManager
import com.simplemobiletools.commons.helpers.SimpleContactsHelper import org.fossify.commons.helpers.SimpleContactsHelper
import com.simplemobiletools.commons.helpers.isNougatPlus import org.fossify.commons.helpers.isNougatPlus
import com.simplemobiletools.commons.helpers.isOreoPlus import org.fossify.commons.helpers.isOreoPlus
import com.simplemobiletools.smsmessenger.R import org.fossify.smsmessenger.R
import com.simplemobiletools.smsmessenger.activities.ThreadActivity import org.fossify.smsmessenger.activities.ThreadActivity
import com.simplemobiletools.smsmessenger.extensions.config import org.fossify.smsmessenger.extensions.config
import com.simplemobiletools.smsmessenger.messaging.isShortCodeWithLetters import org.fossify.smsmessenger.messaging.isShortCodeWithLetters
import com.simplemobiletools.smsmessenger.receivers.DeleteSmsReceiver import org.fossify.smsmessenger.receivers.DeleteSmsReceiver
import com.simplemobiletools.smsmessenger.receivers.DirectReplyReceiver import org.fossify.smsmessenger.receivers.DirectReplyReceiver
import com.simplemobiletools.smsmessenger.receivers.MarkAsReadReceiver import org.fossify.smsmessenger.receivers.MarkAsReadReceiver
class NotificationHelper(private val context: Context) { class NotificationHelper(private val context: Context) {
@ -128,12 +128,12 @@ class NotificationHelper(private val context: Context) {
builder.addAction(replyAction) 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) .setChannelId(NOTIFICATION_CHANNEL)
if (isNoReplySms) { if (isNoReplySms) {
builder.addAction( builder.addAction(
com.simplemobiletools.commons.R.drawable.ic_delete_vector, org.fossify.commons.R.drawable.ic_delete_vector,
context.getString(com.simplemobiletools.commons.R.string.delete), context.getString(org.fossify.commons.R.string.delete),
deleteSmsPendingIntent deleteSmsPendingIntent
).setChannelId(NOTIFICATION_CHANNEL) ).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.content.Context
import android.net.Uri import android.net.Uri
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
import ezvcard.Ezvcard import ezvcard.Ezvcard
import ezvcard.VCard import ezvcard.VCard
import org.fossify.commons.helpers.ensureBackgroundThread
fun parseVCardFromUri(context: Context, uri: Uri, callback: (vCards: List<VCard>) -> Unit) { fun parseVCardFromUri(context: Context, uri: Uri, callback: (vCards: List<VCard>) -> Unit) {
ensureBackgroundThread { ensureBackgroundThread {

View file

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

View file

@ -1,8 +1,11 @@
package com.simplemobiletools.smsmessenger.interfaces package org.fossify.smsmessenger.interfaces
import androidx.room.* import androidx.room.Dao
import com.simplemobiletools.smsmessenger.models.Conversation import androidx.room.Insert
import com.simplemobiletools.smsmessenger.models.ConversationWithSnippetOverride import androidx.room.OnConflictStrategy
import androidx.room.Query
import org.fossify.smsmessenger.models.Conversation
import org.fossify.smsmessenger.models.ConversationWithSnippetOverride
@Dao @Dao
interface ConversationsDao { 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.Dao
import androidx.room.Query import androidx.room.Query
import com.simplemobiletools.smsmessenger.models.MessageAttachment import org.fossify.smsmessenger.models.MessageAttachment
@Dao @Dao
interface MessageAttachmentsDao { interface MessageAttachmentsDao {

View file

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

View file

@ -1,18 +1,18 @@
package com.simplemobiletools.smsmessenger.messaging package org.fossify.smsmessenger.messaging
import android.content.Context import android.content.Context
import android.telephony.SmsMessage import android.telephony.SmsMessage
import android.widget.Toast.LENGTH_LONG import android.widget.Toast.LENGTH_LONG
import com.klinker.android.send_message.Settings import com.klinker.android.send_message.Settings
import com.simplemobiletools.commons.extensions.showErrorToast import org.fossify.commons.extensions.showErrorToast
import com.simplemobiletools.commons.extensions.toast import org.fossify.commons.extensions.toast
import com.simplemobiletools.smsmessenger.R import org.fossify.smsmessenger.R
import com.simplemobiletools.smsmessenger.extensions.config import org.fossify.smsmessenger.extensions.config
import com.simplemobiletools.smsmessenger.extensions.messagingUtils import org.fossify.smsmessenger.extensions.messagingUtils
import com.simplemobiletools.smsmessenger.messaging.SmsException.Companion.EMPTY_DESTINATION_ADDRESS import org.fossify.smsmessenger.messaging.SmsException.Companion.EMPTY_DESTINATION_ADDRESS
import com.simplemobiletools.smsmessenger.messaging.SmsException.Companion.ERROR_PERSISTING_MESSAGE import org.fossify.smsmessenger.messaging.SmsException.Companion.ERROR_PERSISTING_MESSAGE
import com.simplemobiletools.smsmessenger.messaging.SmsException.Companion.ERROR_SENDING_MESSAGE import org.fossify.smsmessenger.messaging.SmsException.Companion.ERROR_SENDING_MESSAGE
import com.simplemobiletools.smsmessenger.models.Attachment import org.fossify.smsmessenger.models.Attachment
@Deprecated("TODO: Move/rewrite messaging config code into the app.") @Deprecated("TODO: Move/rewrite messaging config code into the app.")
fun Context.getSendMessageSettings(): Settings { 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.annotation.SuppressLint
import android.app.Activity 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.Message
import com.klinker.android.send_message.Settings import com.klinker.android.send_message.Settings
import com.klinker.android.send_message.Transaction import com.klinker.android.send_message.Transaction
import com.simplemobiletools.commons.extensions.showErrorToast import org.fossify.commons.extensions.showErrorToast
import com.simplemobiletools.commons.extensions.toast import org.fossify.commons.extensions.toast
import com.simplemobiletools.smsmessenger.R import org.fossify.smsmessenger.R
import com.simplemobiletools.smsmessenger.extensions.getThreadId import org.fossify.smsmessenger.extensions.getThreadId
import com.simplemobiletools.smsmessenger.extensions.isPlainTextMimeType import org.fossify.smsmessenger.extensions.isPlainTextMimeType
import com.simplemobiletools.smsmessenger.extensions.smsSender import org.fossify.smsmessenger.extensions.smsSender
import com.simplemobiletools.smsmessenger.messaging.SmsException.Companion.ERROR_PERSISTING_MESSAGE import org.fossify.smsmessenger.messaging.SmsException.Companion.ERROR_PERSISTING_MESSAGE
import com.simplemobiletools.smsmessenger.models.Attachment import org.fossify.smsmessenger.models.Attachment
import com.simplemobiletools.smsmessenger.receivers.MmsSentReceiver import org.fossify.smsmessenger.receivers.MmsSentReceiver
import com.simplemobiletools.smsmessenger.receivers.SendStatusReceiver import org.fossify.smsmessenger.receivers.SendStatusReceiver
class MessagingUtils(val context: Context) { class MessagingUtils(val context: Context) {
@ -166,7 +166,7 @@ class MessagingUtils(val context: Context) {
} catch (e: Exception) { } catch (e: Exception) {
context.showErrorToast(e) context.showErrorToast(e)
} catch (e: Error) { } 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.AlarmManager
import android.app.PendingIntent import android.app.PendingIntent
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import androidx.core.app.AlarmManagerCompat import androidx.core.app.AlarmManagerCompat
import com.simplemobiletools.smsmessenger.helpers.SCHEDULED_MESSAGE_ID import org.fossify.smsmessenger.helpers.SCHEDULED_MESSAGE_ID
import com.simplemobiletools.smsmessenger.helpers.THREAD_ID import org.fossify.smsmessenger.helpers.THREAD_ID
import com.simplemobiletools.smsmessenger.models.Message import org.fossify.smsmessenger.models.Message
import com.simplemobiletools.smsmessenger.receivers.ScheduledMessageReceiver import org.fossify.smsmessenger.receivers.ScheduledMessageReceiver
/** /**
* All things related to scheduled messages are here. * 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() { class SmsException(val errorCode: Int, val exception: Exception? = null) : Exception() {
companion object { companion object {

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.messaging package org.fossify.smsmessenger.messaging
import android.telephony.SmsManager import android.telephony.SmsManager
import com.klinker.android.send_message.Settings 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.Application
import android.app.PendingIntent import android.app.PendingIntent
import android.content.Intent import android.content.Intent
import android.net.Uri import android.net.Uri
import android.telephony.PhoneNumberUtils import android.telephony.PhoneNumberUtils
import com.simplemobiletools.commons.helpers.isSPlus import org.fossify.commons.helpers.isSPlus
import com.simplemobiletools.smsmessenger.messaging.SmsException.Companion.EMPTY_DESTINATION_ADDRESS import org.fossify.smsmessenger.messaging.SmsException.Companion.EMPTY_DESTINATION_ADDRESS
import com.simplemobiletools.smsmessenger.messaging.SmsException.Companion.ERROR_SENDING_MESSAGE import org.fossify.smsmessenger.messaging.SmsException.Companion.ERROR_SENDING_MESSAGE
import com.simplemobiletools.smsmessenger.receivers.SendStatusReceiver import org.fossify.smsmessenger.receivers.SendStatusReceiver
import com.simplemobiletools.smsmessenger.receivers.SmsStatusDeliveredReceiver import org.fossify.smsmessenger.receivers.SmsStatusDeliveredReceiver
import com.simplemobiletools.smsmessenger.receivers.SmsStatusSentReceiver import org.fossify.smsmessenger.receivers.SmsStatusSentReceiver
/** Class that sends chat message via SMS. */ /** Class that sends chat message via SMS. */
class SmsSender(val app: Application) { 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.ColumnInfo
import androidx.room.Entity 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 android.net.Uri
import androidx.room.ColumnInfo import androidx.room.ColumnInfo
@ -14,7 +14,8 @@ data class Attachment(
@ColumnInfo(name = "mimetype") var mimetype: String, @ColumnInfo(name = "mimetype") var mimetype: String,
@ColumnInfo(name = "width") var width: Int, @ColumnInfo(name = "width") var width: Int,
@ColumnInfo(name = "height") var height: Int, @ColumnInfo(name = "height") var height: Int,
@ColumnInfo(name = "filename") var filename: String) { @ColumnInfo(name = "filename") var filename: String
) {
fun getUri() = Uri.parse(uriString) 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 android.net.Uri
import com.simplemobiletools.smsmessenger.extensions.isImageMimeType import org.fossify.smsmessenger.extensions.isImageMimeType
import com.simplemobiletools.smsmessenger.extensions.isVCardMimeType import org.fossify.smsmessenger.extensions.isVCardMimeType
import com.simplemobiletools.smsmessenger.extensions.isVideoMimeType import org.fossify.smsmessenger.extensions.isVideoMimeType
import com.simplemobiletools.smsmessenger.helpers.ATTACHMENT_DOCUMENT import org.fossify.smsmessenger.helpers.ATTACHMENT_DOCUMENT
import com.simplemobiletools.smsmessenger.helpers.ATTACHMENT_MEDIA import org.fossify.smsmessenger.helpers.ATTACHMENT_MEDIA
import com.simplemobiletools.smsmessenger.helpers.ATTACHMENT_VCARD import org.fossify.smsmessenger.helpers.ATTACHMENT_VCARD
data class AttachmentSelection( data class AttachmentSelection(
val id: String, 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.SerialName
import kotlinx.serialization.Serializable 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.ColumnInfo
import androidx.room.Entity 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.ColumnInfo
import androidx.room.Embedded 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 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 { enum class ImportResult {
IMPORT_FAIL, IMPORT_OK, IMPORT_PARTIAL, IMPORT_NOTHING_NEW 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 android.provider.Telephony
import androidx.room.ColumnInfo import androidx.room.ColumnInfo
import androidx.room.Entity import androidx.room.Entity
import androidx.room.PrimaryKey import androidx.room.PrimaryKey
import com.simplemobiletools.commons.models.SimpleContact import org.fossify.commons.models.SimpleContact
@Entity(tableName = "messages") @Entity(tableName = "messages")
data class Message( 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.ColumnInfo
import androidx.room.Entity import androidx.room.Entity
@ -8,4 +8,5 @@ import androidx.room.PrimaryKey
data class MessageAttachment( data class MessageAttachment(
@PrimaryKey val id: Long, @PrimaryKey val id: Long,
@ColumnInfo(name = "text") var text: String, @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.DeserializationStrategy
import kotlinx.serialization.SerialName import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable
import kotlinx.serialization.SerializationException 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) @Serializable(with = BackupSerializer::class)
sealed class MessagesBackup() { sealed class MessagesBackup {
@SerialName("backupType") @SerialName("backupType")
abstract val backupType: 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.content.ContentValues
import android.provider.Telephony 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.content.ContentValues
import android.provider.Telephony import android.provider.Telephony
@ -48,7 +48,7 @@ data class MmsBackup(
val parts: List<MmsPart>, val parts: List<MmsPart>,
override val backupType: BackupType = BackupType.MMS, override val backupType: BackupType = BackupType.MMS,
): MessagesBackup() { ) : MessagesBackup() {
fun toContentValues(): ContentValues { fun toContentValues(): ContentValues {
return contentValuesOf( return contentValuesOf(

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.smsmessenger.models package org.fossify.smsmessenger.models
import android.content.ContentValues import android.content.ContentValues
import android.provider.Telephony 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?) 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.ColumnInfo
import androidx.room.Entity 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) 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) 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 import android.content.ContentValues
@ -33,7 +33,7 @@ data class SmsBackup(
val serviceCenter: String?, val serviceCenter: String?,
override val backupType: BackupType = BackupType.SMS, override val backupType: BackupType = BackupType.SMS,
): MessagesBackup() { ) : MessagesBackup() {
fun toContentValues(): ContentValues { fun toContentValues(): ContentValues {
return contentValuesOf( 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] * 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 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.VCard
import ezvcard.property.* 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( private val displayedPropertyClasses = arrayOf(
Telephone::class.java, Email::class.java, Organization::class.java, Birthday::class.java, Anniversary::class.java, Note::class.java 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 { private fun VCardProperty.getPropertyTypeString(context: Context): String {
return when (parameters.type) { return when (parameters.type) {
CELL -> context.getString(com.simplemobiletools.commons.R.string.mobile) CELL -> context.getString(org.fossify.commons.R.string.mobile)
HOME -> context.getString(com.simplemobiletools.commons.R.string.home) HOME -> context.getString(org.fossify.commons.R.string.home)
WORK -> context.getString(com.simplemobiletools.commons.R.string.work) WORK -> context.getString(org.fossify.commons.R.string.work)
else -> "" else -> ""
} }
} }
@ -51,20 +51,23 @@ data class VCardPropertyWrapper(val value: String, val type: String, val propert
is Email -> VCardPropertyWrapper(value, getPropertyTypeString(context), property) is Email -> VCardPropertyWrapper(value, getPropertyTypeString(context), property)
is Organization -> VCardPropertyWrapper( is Organization -> VCardPropertyWrapper(
value = values.joinToString(), value = values.joinToString(),
type = context.getString(com.simplemobiletools.commons.R.string.work), type = context.getString(org.fossify.commons.R.string.work),
property = property property = property
) )
is Birthday -> VCardPropertyWrapper( is Birthday -> VCardPropertyWrapper(
value = date.format(context.config.dateFormat), 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 property = property
) )
is Anniversary -> VCardPropertyWrapper( is Anniversary -> VCardPropertyWrapper(
value = date.format(context.config.dateFormat), 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 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) 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