- Use
PixelCopy
API for full-screen 'canvas' captures on API 26+. This supports hardware rendering so will no longer crash with hardware bitmaps (#142) and is also able to capture additional details like shadows from elevation.
- Bump compile/target SDK to 34.
- Add
FOREGROUND_SERVICE_MEDIA_PROJECTION
permission.
- Requires compileSdk 29
- Start a foreground service while capturing on Android 10.
- Icon can be overridden in your application by adding a drawable named
telescope_service
.
- Icon can be overridden in your application by adding a drawable named
- Avoid activity leak in Android 10.
- Migrate to AndroidX.
- Moved anything that touches the disk to a background thread.
- Note that if you override
EmailLens
'getBody()
orgetAdditionalAttachments()
, you will now be called on a background thread.
- Note that if you override
EmailLens
now shares screenshots using acontent://
URI instead offile://
- Added
TelescopeFileProvider
for use in custom lenses that allows you to easily create acontent://
URI for sharing screenshots. SeeEmailLens
for an example.
- Screenshots will now be captured natively on API 21+. This method will capture the entire screen
including status bar, navigation bar, and any surface views that didn't work using the old method
(ex:
MapView
). The old method can be forced by setting the screenshot mode toScreenshotMode.CANVAS
. - Disabling of screenshots has been moved to
ScreenshotMode.NONE
. Lens
has been changed from an interface to an abstract class.- A new method has been added to
Lens
to optionally pre-process the screenshot before saving. - Layout attributes are now prefixed with
telescope_
to avoid collisions.
- Removed the need for
WRITE_EXTERNAL_STORAGE
permission on KitKat+.- Screenshots are now stored in a private app directory on external storage. Ensure that you're
calling
Telescope.cleanUp()
somewhere in your app lifecycle to remove these screenshots.
- Screenshots are now stored in a private app directory on external storage. Ensure that you're
calling
- Check for
VIBRATE
permission before attempting to vibrate.
- Removed override of
ViewParent#requestDisallowInterceptTouchEvent(boolean)
due to issues withListView
and other views.TelescopeLayout
seems to obeyrequestDisallowInterceptTouchEvent()
without any modifications.
- New: Obey
ViewParent#requestDisallowInterceptTouchEvent(boolean)
. Have your multi-touch views call this method on their parent during touch events and Telescope will not intercept the events. - Removed
setInterceptTouchEvents(boolean)
andattr/interceptTouchEvents
added in 1.2.0. UserequestDisallowInterceptTouchEvent
instead.
- New: Add ability to not intercept touch events.
- New: Support for additional attachments in
EmailLens
andEmailDeviceInfoLens
. - New: Convenience constructor for
EmailDeviceInfoLens
to automatically get app version. - Adjusted
EmailDeviceInfoLens
to add the separator and new lines below the body instead of above. EmailLens
andEmailDeviceInfoLens
now prefer addresses as varargs instead of an array.
Initial version.