Commit Graph
41 Commits
Author SHA1 Message Date
Michael W 37ac798c53 Messaging: Remove VisibleForAnimation
It's meant for reflection, but we don't care about that

Change-Id: Id2310a04fb90f39cb9b52fcb183073504b64bcba
2025-05-18 09:18:48 +00:00
Michael W b2f5e3190e Messaging: Further code improvements
* Remove redundant casts
* getParcelable(ArrayList|Exra) without class argument is deprecated
* ViewPager.setOnPageChangeListener -> addOnPageChangeListener
* RecyclerView.setOnScrollListener -> addOnScrollListener
* Remove unused initializations
* Remove unused code

Change-Id: I21beb6c90c675a4f2cfd7e3d5ebbd18b745f5911
2025-03-04 18:52:05 +01:00
Michael W 47f5533a73 Messaging: Remove duplicate code
* mmslib contains basically the same code as android.support.v7.mms.pdu
  does, so align them code-wise and remove the mmslib duplicates
* Since mmslib contains a few usages that are now not accessible
  anymore, make the classes or methods public where it complains

Change-Id: I10b8716c0e45079e4795fda4489dc1a9535026f3
2025-03-04 18:52:05 +01:00
Michael W 278c7e93af Messaging: Hide new chat button when forwarding messages
Change-Id: I511c9745c02bc7918bb38647bd6fb79332cfe523
2025-01-01 18:56:09 +01:00
Michael W 161c3e9fd9 Messaging: Remove VisibleForTesting
Since we removed all tests, no need to keep those flags around either

Change-Id: Icaf71832c459cecbcbddc75f552c60e48ae95189
2024-12-26 15:54:38 +01:00
Michael W 6e9a803f1c Messaging: Handle default SMS app setting properly
* We don't need two settings basically doing the same
* Handling the change needs to happen via RoleIntent, not
  ACTION_CHANGE_DEFAULT
* Our own name sometimes can't be retrieved from package manager (?) -
  just use it from strings

Change-Id: I28abc52329f00b33a316533f12a54a517cba3514
2024-12-26 15:54:37 +01:00
Michael W 241b4cf833 Messaging: Style even more dialogs properly
Somehow some dialogs use the theme but some need the style set manually

Change-Id: I386a0e43c10d328088066961b75a162bf2c351c1
2024-12-26 15:54:37 +01:00
Michael W 6cc0e38bb5 Messaging: Get rid of onActivityResult()
We are supposed to use ActivityResultLaunchers, so do it that way

Change-Id: I070ec485097c927877b3e0eb4699addc9b9df873
2024-12-26 15:54:37 +01:00
Michael W d940ab74ad Messaging: Fix a few android related things
* NotificationBuilder.addPerson(String) -> .addPerson(Person)
* Wearableextenter.addPage deprecated without replacement
* Html.fromHtml(String) -> .fromHtml(String, int)
* Handlers need Loopers
* Resource-IDs are not final by default (if-else instead of switch-case)
* call super.onFinishInflate() in override of onFinishInflate()
* Configuration.locale -> configuration.getLocales().get(0)
* SimpleDateFormat needs localization as well
* AudioAttributes instead of setAudioStreamType()
* isDataEnabled() is a public method, no need for reflection anymore

Change-Id: Icd830768b86edca3e0b44f1edc6c57facc9f731a
2024-12-26 15:54:37 +01:00
Michael W e128bff457 Messaging: Language cleanup
No unnecessary boxing, enhanced for loops, redundant checks and throws,
imports (removal, reordering), possible void returns

Change-Id: I7a8e1b2007e3b0906e01b41785c518d02c2f3fab
2024-12-26 15:54:37 +01:00
Michael W e335f6bec8 Messaging: Use ActivityResultContracts for media and contacts
Instead of handling showing and picking the media ourselves,
use existing AcitivityResultContracts to pick images, videos
or contacts

Change-Id: I20079ad94882cc6bbfeae8d57ca0e4aa30612c01
2024-12-26 15:54:37 +01:00
Michael W 7f9087a49e Messaging: Properly hide and show FAB
When starting or stopping action mode, the FAB should hide and show again

Change-Id: I94b12cbd3190df90189dc02c39ac7db78d58d090
2024-12-26 15:54:37 +01:00
Michael W d4ac014a74 Messaging: Use an extended FAB
With proper color scheme and "Start chat" text

Change-Id: I320b169b2bec354db7b0ebc3e81149aaf575092f
2024-12-26 15:54:37 +01:00
Michael W e29b158fba Messaging: Remove unused code
Change-Id: I8093bb3e305ae323f7069bf42f9e83f8c8647cc7
2024-12-26 15:54:37 +01:00
Michael W 0069df879a Messaging: Replace explicit types
Change-Id: I2165b3dec73973a2a82d8b3c7c364b5f011e597d
2024-12-26 15:54:37 +01:00
Michael W 1914db5ea4 Messaging: Convert further parts to androidx
CursorLoader, LoaderManager, Preferences, Fragments, ...

Change-Id: I8787b2db365249839547c6d5c21ab7cd5ff42082
2024-12-26 14:55:13 +01:00
Michael W d430161ca0 Messaging: Fix warnings about drawables and colors
* They need the theme provided now
* Follow the suggestion by AS
  (sometimes we use ResourcesCompat, sometimes not)

Change-Id: Ie3023fee13a6fc04bd4b912721ba19dcc08befba
2024-12-26 14:55:13 +01:00
Michael W a2f67b4f7b Messaging: Remove GServices
We don't have an actual implementation returning anything but the
defaults, so apply the defaults directly anywhere we need them

Change-Id: Ic651b4b13977799f2f4d2c702c430798fbff77f8
2024-12-26 14:55:12 +01:00
Michael W d43b6ff1c4 Messaging: Let there be lambdas
Change-Id: Iee1fc46c92ea9159abb10d92d34baee937bdee0c
2024-12-26 14:55:12 +01:00
Michael W c1b4aa4dfe Messaging: Nullability
Change-Id: I8bcde2a868a9c8989971d056be24ff4986e4f8f3
2024-12-26 14:55:12 +01:00
Michael W 21cb2b6289 Messaging: Fix modifiers
We either have too few or too many

Change-Id: I09a9a38b859c68526fcbcdbc7862afe1d693f6c0
2024-12-26 14:55:12 +01:00
Michael W 7c55a6d56a Messaging: Remove compatibility for old android versions
Change-Id: Id9065d60525a509271a0e64c0e349e857cb998e2
2024-12-26 14:55:12 +01:00
Tommy Webb 5784795fe2 Fix crash on forwarding messages
onAttachFragment in ForwardMessageActivity does not necessarily have
to be provided with a ConversationListFragment, so there is no need to
assert this. Just move along, as is done in VCardDetailActivity, etc.

Change-Id: I41825c9c118d71d447b820d29f60fb10ef2d5fdf
2024-09-09 05:46:59 +03:00
Scott Warner 657e0460fe Messaging: Use a DayNight launch theme
This prevents the white launch screen from appearing when the system theme
is dark

Change-Id: I861f9e5a58b4bb52385c75459fc4de73532d15a8
2024-09-09 05:46:58 +03:00
Luca Stefani 4246987beb Messaging: Implement per conversation channels. Update API level to 28.
* 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
2024-09-09 05:46:38 +03:00
Adnan Begovic 086bb5c3f5 Messaging: Implement option for swipe right to delete.
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
2024-09-09 05:45:11 +03:00
Cole Faust 50b73ca58a Fix errorprone warnings that should be errors
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
2022-10-15 21:33:28 -07:00
Marco Sirabella c5cb15c9d8 Allow intent shared subject or title to be mms subject
Test: m, manual
Change-Id: Ibb5eba030320467774cdac1d502ec36c98abcb43
2020-02-22 02:41:01 +00:00
Taesu Lee a8b76eafc4 Allow acceptable media types only for sharing
Test: Manual

Change-Id: I20d5f8abf2ba7b7b620aa2a4ec1e0a43091f98c2
Signed-off-by: Taesu Lee <taesu82.lee@samsung.com>
2020-02-20 08:52:53 +09:00
Taesu Lee defea9dea1 Support sharing with image/video/audio/vcard and text fully
ACTION_SEND and ACTION_SEND_MULTIPLE support image, video, audio, text
and vcard files.

Test: Manual

Change-Id: I1c08070f89877140aba9087717bb663ee2990467
Signed-off-by: Taesu Lee <taesu82.lee@samsung.com>
2020-02-07 08:55:20 +09:00
Aurimas Liutikas 1b693ea7df Migrate Messaging to androidx.
Test: make messaging
Bug: 76692459
Change-Id: I9103450622f129311545648ac75f5b2f9fc2d04a
Merged-In: I9103450622f129311545648ac75f5b2f9fc2d04a
2019-02-14 22:59:57 +00:00
Android Build Merger (Role) ea03db3303 [automerger] Messaging ignores file URIs shared via intent am: 9deefdf182
Change-Id: Ieaca25fa19b578953f88da445e2ecbd4b15f3a98
2018-05-25 23:24:03 +00:00
David Smith 9deefdf182 Messaging ignores file URIs shared via intent
Fixes b/37629504 by not creating attachments from file URIs shared via
intent. Sharing file URIs is disallowed by Android N and later and is no
longer supported for this app.

Test: manual using the Debug command added in this change

Change-Id: Ibff486c94ac703a9a4c5a80e33b934a460804a8f
Merged-In: Ibff486c94ac703a9a4c5a80e33b934a460804a8f
2018-05-25 23:24:02 +00:00
Tony Mak 7ad7ac27f1 Show badge icon if any participant in the conversation is work contact
Precompute is_enterprise and stored the value in conversation table.
Include is_enterprise in the ConversationList view.

Change-Id: I2e31bd61c08d25a296aaa3e99cb24631ae2e7976
2016-06-29 10:58:33 +01:00
Tony Mak 2a50ffe57c Add badge in conversation view if the participant is a work contact
TODO: To handle conversation having more than one participants.

Bug: 29065176
Change-Id: I3820454bf2b76c151dc3a13d9be270502029160d
2016-06-28 15:44:27 +01:00
Tavis Bohne 41f3b673f1 Messenger refuses all file:///data/ uris
We've been informed it's possible for an app to create a world
readable hardlink in L in its own /data directory that links to
another apps private data, including Messenger data. The hardlink
bypassed our existing checks. So now we simply refuse all file: uris
in the /data/ directory.
Other apps shouldn't be sending file uris anyway, and we dont know
of any that send file:///data/ uris.

Bug: 28793303
Change-Id: I778bb2bcb9e11185357093c59fc1fa3f6caa26a1
2016-05-17 17:36:51 -07:00
Tavis Bohne 30fb338539 Messaging doesn't allow sharing of its own files
-Previously, Messaging allowed sharing of any file it had permission
 to reach. This meant that bad apps could share a link to
 file:///data/data/com.android.messaging/databases/bugle_db
 and Messaging would happily send all this sensitive information to
 the target. Worse, a bad app could share a softlink to this file,
 where the symlink was picture.jpg with the image/jpg type.
-Now, when sanitizing attachments, we make sure any filepaths don't
 lead to any Bugle-specific directories.
-getApplicationInfo().dataDir is a symlink to
 /data/data/com.android.messaging, and appears to be the
 only directory where we store personal data.
-Most apps share as contentUris, including Messaging, so Messaging
 can still share to itself.

Change-Id: Ic464bc1f099029a030793c478aaf88b957d8bad1
Fixes:28076752
2016-04-29 14:39:59 -07:00
Shri Borde eba0949bc6 Access incoming audio files after user taps Play
For platforms with insecure handling of media files, media files should
be opened only after the user chooses to play the media.

Change-Id: I5f9bbd1f8468a704a5962f0dddd3c8b11bba8bea
2015-08-21 10:17:46 -07:00
Mike Dodd d3b009ae55 Initial checkin of AOSP Messaging app.
b/23110861

Change-Id: I11db999bd10656801e618f78ab2b2ef74136fff1
2015-08-12 12:47:26 -07:00
Mike Dodd ef8c7abbcf Revert "Initial checkin of AOSP Messaging app."
This reverts commit 461a34b466.

Change-Id: Iac4ca77eeaa94989e91dead49a7959c905bd3078
2015-08-12 18:48:39 +00:00
Mike Dodd 461a34b466 Initial checkin of AOSP Messaging app.
b/23110861

Change-Id: I9aa980d7569247d6b2ca78f5dcb4502e1eaadb8a
2015-08-12 08:58:28 -07:00