mirror of
https://github.com/markqvist/Sideband.git
synced 2024-12-15 10:54:23 -05:00
59 lines
1.5 KiB
Python
59 lines
1.5 KiB
Python
'''
|
|
Module of Android API for plyer.email.
|
|
'''
|
|
|
|
from jnius import autoclass, cast
|
|
from plyer.facades import Email
|
|
from plyer.platforms.android import activity
|
|
|
|
Intent = autoclass('android.content.Intent')
|
|
AndroidString = autoclass('java.lang.String')
|
|
|
|
|
|
class AndroidEmail(Email):
|
|
'''
|
|
Implementation of Android email API.
|
|
'''
|
|
|
|
def _send(self, **kwargs):
|
|
intent = Intent(Intent.ACTION_SEND)
|
|
intent.setType('text/plain')
|
|
|
|
recipient = kwargs.get('recipient')
|
|
subject = kwargs.get('subject')
|
|
text = kwargs.get('text')
|
|
create_chooser = kwargs.get('create_chooser')
|
|
|
|
if recipient:
|
|
intent.putExtra(Intent.EXTRA_EMAIL, [recipient])
|
|
if subject:
|
|
android_subject = cast(
|
|
'java.lang.CharSequence',
|
|
AndroidString(subject)
|
|
)
|
|
intent.putExtra(Intent.EXTRA_SUBJECT, android_subject)
|
|
if text:
|
|
android_text = cast(
|
|
'java.lang.CharSequence',
|
|
AndroidString(text)
|
|
)
|
|
intent.putExtra(Intent.EXTRA_TEXT, android_text)
|
|
|
|
if create_chooser:
|
|
chooser_title = cast(
|
|
'java.lang.CharSequence',
|
|
AndroidString('Send message with:')
|
|
)
|
|
activity.startActivity(
|
|
Intent.createChooser(intent, chooser_title)
|
|
)
|
|
else:
|
|
activity.startActivity(intent)
|
|
|
|
|
|
def instance():
|
|
'''
|
|
Instance for facade proxy.
|
|
'''
|
|
return AndroidEmail()
|