* The only thing we need is reading one Tag, which the androidx
implementation can do just fine.
* Apart from that there is so much unused code there...
Change-Id: I248a9e5450f1823e3eca589b8e17610940b26d01
* 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
* AsyncTask is deprecated
* Executors and Handlers can achieve the same thing and
are not deprecated
Change-Id: I5271bb73b848ce885eeaf5632c1da27853c56c4a
* We don't have strings.xml in the translation pipe yet so move it to
our own strings instead
* Add an explainer comment as well
Change-Id: I392837e194c7c5d5b4b44d5cbba2ef2f521857ed
Since these have no effect on sdk 33 and up and everything works without
them we can get rid of those
Change-Id: I0482d8b8772dc2c64bb1930fbc6ba4852f4b4c61
On light background they stand out lighter, but on dark they just blend
in - we can reuse the attachment background to fix that!
Change-Id: I0e0f09d0cd305ce1bc8aa07c3a20b79993d40e60
* With dark theme, they suddenly don't stand out from the background
anymore
* Give them more rounding but not as much as the chat bubbles
Change-Id: I32c1036bda348e0c58e1cb37edbe9c7fc72309e7
* 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
The view doesn't have a "no items available" element and it doesn't
make sense to have one since the menu item is only visible once a contact
is blocked - so after removing the last blocked contact, simply return
back to the conversation list
Change-Id: I3372e26361f6919502cac6fd27ae849d559a4c05
* 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
No unnecessary boxing, enhanced for loops, redundant checks and throws,
imports (removal, reordering), possible void returns
Change-Id: I7a8e1b2007e3b0906e01b41785c518d02c2f3fab
Instead of handling showing and picking the media ourselves,
use existing AcitivityResultContracts to pick images, videos
or contacts
Change-Id: I20079ad94882cc6bbfeae8d57ca0e4aa30612c01
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