When suspending and resuming the app, somehow the loader returns
immediately after onResume() with onLoadFinished() but somehow has no
data left (data.moveToNext() returns false) which makes the conversation
close immediately.
Restarting the loader has the desired result: We can leave the app
temporarily and come back to the same conversation again
This also fixes adding a vcard attachment (since that temporarily
leaves the app)
Change-Id: Id52e55563a11474fa776323477aa900ca4be0bbe
Since Q, contacts affinity isn't supported anymore, as reflected by
the documentation plus DataUsageStatUpdater code itself
Change-Id: I35e00d0fa743525c3b977c9756126ae764726afa
* They need the theme provided now
* Follow the suggestion by AS
(sometimes we use ResourcesCompat, sometimes not)
Change-Id: Ie3023fee13a6fc04bd4b912721ba19dcc08befba
We don't have an actual implementation returning anything but the
defaults, so apply the defaults directly anywhere we need them
Change-Id: Ic651b4b13977799f2f4d2c702c430798fbff77f8
* SMS are the least of your storage issues, if you reach the limit
* Both Intent.ACTION_DEVICE_STORAGE_LOW and
Intent.ACTION_DEVICE_STORAGE_LOW are not delivered to apps after O
* Remove all now unused strings from all languages - we don't sync those
with crowdin (yet)
Change-Id: If01f937acdafbb34d5a9e792db54de4761ec4cc5
* Someone apparently decided to "Replace-In-Files" these before, but
they are not correct according to the folder structure
* Since it is just annoying to read the code in AS when it does not
match the folder, change the package name back
Change-Id: Iea5c51aeb9e1f5b650a1009348065c7c38cddbeb
* Since we already compile with sdk "current", this is just the next
logical step
* We skip 35 for now since edge-to-edge stuff can be done later
* It also gives AS the possibility to recognize necessary steps
* WRITE_SMS permission removed in API 23
Change-Id: Ia567fa9e42772f0b6d6e6fdc0d21b5635ff9dcc5
* Somehow there are multiple entries per some numbers, sometimes stored
with, sometimes without spaces and/or invisible characters
* This leads to the same number being shown multiple times
* Don't add those entries by comparing number and type of all
already added entries with the staging one
Change-Id: Ic815393d3d4f4ba56107f42c9d8940309564554c
* Get rid of in-app settings for notifications, replaced by channels features
* Remove all the notification plumbing and dead code
Test: m, manual
Signed-off-by: Luca Stefani <luca.stefani.ge1@gmail.com>
Signed-off-by: Joey <joey@lineageos.org>
Signed-off-by: Danny Baumann <dannybaumann@web.de>
Signed-off-by: Arne Coucheron <arco68@gmail.com>
Signed-off-by: Lyubo <lyubodzhamov@gmail.com>
Change-Id: Idb39ca32751d40b3376934775d2119dd6cc7e297
Squashed commit of the following:
Author: Adnan Begovic <adnan@cyngn.com>
Date: Thu Jan 14 17:20:43 2016 -0800
Messaging: Implement option for swipe to delete.
No one wants to swipe to archive, that's stupid.
Change-Id: Ia8f0fc675582ef343311e60b755e284322f25102
Author: chengzhi.hou <chengzhi.hou@ck-telecom.com>
Date: Wed Feb 24 20:01:17 2016 +0800
Messaging: Swipe right to delete conversation
Change "swipe delete" to "swipe right delete", so SwipeArchive and SwipeDelete
can exist at the same time.
Change-Id: Id66167c2e749f8ab0ee917e0138027c7404b8c90
Author: Michael Bestas <mikeioannina@cyanogenmod.org>
Date: Tue Mar 1 02:27:16 2016 +0200
Improve swipe to delete strings
Change-Id: I180d09a6680084d9fd87c6dafd56db18ca5a580a
Author: Joey Rizzoli <joey@cyanogenmoditalia.it>
Date: Mon Oct 17 16:32:25 2016 +0200
Messaging: show snackbar instead of toast when deleting conversation
more consistency with archive action
Change-Id: I06129850860a2a51c10ade65fb87c9f37a0c2bfa
Signed-off-by: Joey Rizzoli <joey@cyanogenmoditalia.it>
Change-Id: Ia8f0fc675582ef343311e60b755e284322f25102
This commit is part of a large scale change to fix errorprone
errors that have been downgraded to warnings in the android
source tree, so that they can be promoted to errors again.
The full list of changes include the following, but not all
will be present in any one individual commit:
BadAnnotationImplementation
BadShiftAmount
BanJNDI
BoxedPrimitiveEquality
ComparableType
ComplexBooleanConstant
CollectionToArraySafeParameter
ConditionalExpressionNumericPromotion
DangerousLiteralNull
DoubleBraceInitialization
DurationFrom
DurationTemporalUnit
EmptyTopLevelDeclaration
EqualsNull
EqualsReference
FormatString
FromTemporalAccessor
GetClassOnAnnotation
GetClassOnClass
HashtableContains
IdentityBinaryExpression
IdentityHashMapBoxing
InstantTemporalUnit
InvalidTimeZoneID
InvalidZoneId
IsInstanceIncompatibleType
JUnitParameterMethodNotFound
LockOnBoxedPrimitive
MathRoundIntLong
MislabeledAndroidString
MisusedDayOfYear
MissingSuperCall
MisusedWeekYear
ModifyingCollectionWithItself
NoCanIgnoreReturnValueOnClasses
NonRuntimeAnnotation
NullableOnContainingClass
NullTernary
OverridesJavaxInjectableMethod
ParcelableCreator
PeriodFrom
PreconditionsInvalidPlaceholder
ProtoBuilderReturnValueIgnored
ProtoFieldNullComparison
RandomModInteger
RectIntersectReturnValueIgnored
ReturnValueIgnored
SelfAssignment
SelfComparison
SelfEquals
SizeGreaterThanOrEqualsZero
StringBuilderInitWithChar
TreeToString
TryFailThrowable
UnnecessaryCheckNotNull
UnusedCollectionModifiedInPlace
XorPower
See https://errorprone.info/bugpatterns for more
information on the checks.
Bug: 253827323
Test: m RUN_ERROR_PRONE=true javac-check
Change-Id: I8b1533cbea835343dcf589cbaa57c63794be58bd
If sync operation is occurred between ResendMessageAction and
SendMessageAction, the pending outgoing messages in local db are deleted
and new messages are added from remote db.
To fix this issue, ResendMessageAction will update RETRY_TIMESTAMP only.
And RECEIVED_TIMESTAMP and SENT_TIMESTAMP will be updated in
SendMessageAction when the message is queued.
Test: manual
Change-Id: I0ffa6f46a7094ec3dfd2954d4313b78dd57d6994
Signed-off-by: Taesu Lee <taesu82.lee@samsung.com>
If a SIM is inactive, Mark messages corresponding to the SIM as failed
instead of updating selfId as default selfId. The failed messages could
be sent through the SIM manually if the SIM is re-activated.
Test: Manual
Change-Id: I1eee7c12aaedebe8aa3e0c41b4b057758a3b17a2
Signed-off-by: Taesu Lee <taesu82.lee@samsung.com>
Creating ConnectivityUtil instances after checking the minimum set of
permissions since SubscriptionManager#getActiveSubscriptionInfoList()
requires READ_PHONE_STATE and users can revoke the permission.
On P and beyond, the subscription list will be filtered instead when no
permission.
Bug: 159421050
Test: Manual
Signed-off-by: Taesu Lee <taesu82.lee@samsung.com>
Change-Id: Iafc3c57060e1893a91e629b1b3e3ba9ad78967cb
Remove a Lambda Exp and replace ConcurrentHashMap#computeIfAbsent() with
containsKey() and put() so that this app can be built using JAVA 7.
Test: Build
Signed-off-by: Taesu Lee <taesu82.lee@samsung.com>
Change-Id: I7ff8a3b5fc4673dfe05c5ecc9418d377f3ed4f2e
After this CL, ConnectivityUtil for default subId is used again on pre
N because TelephonyManager has createForSubscriptionId() for a specific
subId from N.
Nevertheless, listen() uses the default subId on PhoneStateListener
instead of the subId on the manager still even N. On O and beyond,
ConnectivityUtil works correctly on multi-sim devices.
Revert "Fix missing computeIfAbsent() method in L_MR1 and M"
This reverts commit f0ccb76d8d.
Reason for revert: Manage ConnectivityUtil instances for subIds at least
on N instead.
Test: Manual
Signed-off-by: Taesu Lee <taesu82.lee@samsung.com>
Change-Id: I2f08928a6798a2ce275c5c75569ad379999d274c
Replace ConcurrentHashMap#computeIfAbsent() with containsKey() and put()
since computeIfAbsent() is added in API level 24.
Bug: 158846265
Test: Build
Signed-off-by: Taesu Lee <taesu82.lee@samsung.com>
Change-Id: I3c43f0d7b1f289f0442c9359de4f099217244387
It allows to call to well-formatted phone numbers or carrier specific
phone numbers starting with star sign such as *20 so that user can make
a call directly in a conversation for voice mail SMSs.
Revert "Check whether dialable only"
This reverts commit dbc43316cf.
Reason for revert: a call icon is disappeared for well-formatted phone
number with parentheses, dash and etc.
Test: Check the call icon in conversations for phone numbers and voice
mail numbers.
Signed-off-by: Taesu Lee <taesu82.lee@samsung.com>
Change-Id: I1b279f8a5372b00a5a0c572f9969731f1e633389
UriUtil#parseRecipientsFromSmsMmsUri() will returns a comma-separated
recipients for common use so that InsertNewMessageAction#createMessage()
can create or get a conversation correctly for RESPOND_VIA_MESSAGE.
In addition, mms/mmsto schemes are added. And it includes small cleanup
intent-filters for LaunchConversationActivity.
Test: adb shell am startservice
-a android.intent.action.RESPOND_VIA_MESSAGE -d "sms:12345678,87654321"
-e android.intent.extra.TEXT "Text"
Change-Id: I291dc765a46846982d059016d44f90873c687867
Signed-off-by: Taesu Lee <taesu82.lee@samsung.com>
It allows to call to any sender such as *20(Voice Mail Number for
Chile Claro).
Test: Manual
Signed-off-by: Taesu Lee <taesu82.lee@samsung.com>
Change-Id: Ifca83c5f05018de627fa38318fd4b6db20370910
This reverts commit f19e916a0d.
Reason for revert: Reverting per Taesu Lee's comments, because it doesn't work and has issues.
Change-Id: I778362b628f4c3ae076dd943e77dee415984fba0
This reverts commit dffc4fa578.
Reason for revert: Reverting per Taesu Lee's comments - https://android-review.googlesource.com/c/platform/packages/apps/Messaging/+/1259839
@Raman,
This new feature still doesn't work properly.
As we know Luca has been submitted CL:1271087 and CL:1271088 to fix it. But it still has issues.
Change-Id: I2e8eb1fce302b12f3f30b8163da7e749c08733d9
No more rescheduling for pending messages after DownloadMmsAction is
failed caused by outside window. Any pending download messages will be
remained as the DOWNLOADING state without actual downloading operations
and sending a DEFERRED M-NotifyResp.ind even.
It will reschedule pending messages whenever sending or downloading is
failed including outside window failure case. And it also removes dup
scheduling and fix some typo.
Test: Manual
Change-Id: Ie37088347c69f25d838875830fc65ce7727fefe6
Signed-off-by: Taesu Lee <taesu82.lee@samsung.com>
Use the most recent notification's state to print out log because
mContent is null in case of a notification for multiple messages in at
least 2 different conversations.
And no need sanitizePII() since this log is only for VERBOSE already.
Test: 1) adb shell setprop log.tag.MessagingAppNotif VERBOSE
2) Receive SMS from different senders
Signed-off-by: Taesu Lee <taesu82.lee@samsung.com>
Change-Id: Ie300620f0014577ca65b9a7e3a4c397a39717992
Delivered messages could be forwarded and sent time can be shown on
MessageDetailsDialog.
Test: Manual
Signed-off-by: Taesu Lee <taesu82.lee@samsung.com>
Change-Id: I6e24bdfe6a037ab588914327dbd8abf3f30512ea
Selected attachment from GalleryGridView will be destroyed when same
attachment is already existed in DraftMessageData. It will make assert
fail during onSaveInstanceState() because mDestroyed in MessagePartData
is true already.
It destroys existing attachment and replaces with new attachment instead
so that selected attachments could be maintained correctly.
Test: 1) Select one image in GalleryMediaChooser.
2) Reopen the chooser and long-press same image again to enter to
the multi-selection mode.
3) Long-press the attachment on draft message to open
AttachmentChooser.
4) Check Assert fail.
Change-Id: I029d778779260d0097ce30bf5338fceba05e1f77
Signed-off-by: Taesu Lee <taesu82.lee@samsung.com>