BubbleApi (0:04)
- api 29
- What's New in the Android Os User Interface thu @ 9: 30
Dark theme (1:35)
- in Q()
- MODE_NIGHT_AUTO_TIME deprecated
- OptionA - use Theme
Theme.AppCompat.DayNight
Theme.DeviceDefault.DayNight
ThemeOverlay.DeviceDefault.Accent.DayNight
- OptionB - other
android:forceDarkAllowed="true" // in AndroidManifest.xml
view.setForceDarkAllowed(false) // exclude things that shouldn't be forced
- OptionC - DIY
- Dark Theme and Gestures in Android Q Thu@9:30
Sharing (3:50)
- Support image& text
- Doesn't need to start your app
- copy to clipboard up top
- fast
Interruptions (5:00)
- separate - gentle | priority
Notification actions(7:45)
- automatically generated reply
- text based on message content
Gesture navigation(8:14)
- Notice a UI paradigm in the wild
- Make it safer, more reusable
- Add it to the framework
- edget to dege, gesture areas, exclusion Rects
- Dark Theme and Gestures in Android Q Thu@9:30
Webview(11:20)
- Detect hung renderer
Accessibility(11:36)
- Demystifying Android Accessibility Development Wed@9:30
Text(12:00)
- hyphenation
Magnifier(13:35)
- Configurable with Magnifier.Builder
Private Api(13:55)
Android Runtime(15:36)
- App Profiles in the Cloud ~15% faster startup
- Startup improvements
- Generational Garbage Collector
- Understanding Android Runtime (ART) for Faster Apps Wed@11:30
Kotlin(17:10)
- New Apis in Q have nullability annotations
- Nullability enforced as errors instead of warnings with Q.
- Incremental annotation processing with kapt in 1.3.30
- What's New in Kotlin on Android, 2 Years In Wed@12:30
Security(18:20)
- TLS 1.3, enabled by default
- Biometric dialog improvements
New Hotness(18:55)
- PowerManager
Neural Network Api(19:19)
- Machine Learning
- What's New Android Machine Learning
Preferences(19:35)
- android.preference deprecated
- androidx.preference
- YouTube (ADS'18): Preferential Practices for Preferences
Architecture Components(20:16)
- WorkManager 1.0.1 & 2.0.1(AndroidX)
- Youtube (ADS'18) Easier Background Processing with WorkManager
- Navigation 1.0 & 2.0 (AndroidX)
- Jetpack Navigation Wed@1:30
- SavedState for ViewModel 1.0
- Benchmarking
- Improving App Performance with Benchmarking Thu@1:30
- Lifecycles, Livedata, Room: Now with coroutines!
- What's New in Architecture Components Wed@10:30
CameraX(21:06)
- Easy to use camera API
- Backwards compatible to Android L
- Consistent behavior across Android devices
- Extensions add-on for device-specific features
- Understand the CameraX Camera-supprot Library Wed@5:30
Jetpack Compose(21:55)
- Next-generation UI toolkit
- Unbundled
- Reactive
- Kotlin
- check out : d.android.com/jetpackcompose
- Declarative UI Patterns Wed@3:30
ViewPager2 (26:40)
- Like ViewPAger, but better
- Easy migration from ViewPager
- Based on RecyclerView
- RTL support
- Allows vertical paging
- Improved dataset change notifications
ViewBindings(27:32)
- No more findViewById()
- Bindings generated form XML layout files
- Null-safe, type0safe fields
- what's New in Architecture Components Wed@1:30
Blend Modes(28:50)
- android.graphics.BlendMode
- HARD_LIGHT
- SOFT_LIGHT
- etc..
RenderNode(29:18)
- Efficient rendering
- Can be hierarchical
- Cast shadows without a View
HardwareRenderer(30:30)
- Used by the UI toolkit internally
- Renders a scene of RenderNodes to a Surface.
- Lets you control the light source for Material shadows.
- Bitmap can now wrap a HardwareBuffer
- Frequent bitmap updates without texture uploads.
- Use a Surface as a Bitmap in your UI
SurfaceControl(33:05)
- Android Graphics Office Hours Wed@4:45
Vulkan(33:11)
- Vulkan 1.1 is now required for all new 64bit devices.
- Android Graphics Office Hours Wed@4:45
ANGLE(33:24)
- OpenGL ES over Vulkan
- Increase consistency across devices.
- Regular updates through the ANGLE APK.
- Opt-in in Developers Options.
- Android Graphics Office Hours Wed@4:45
Wide Color Gamut(33:41)
- Introduced in O, using 16bit color depth
- Now uses 8 bit color depth instead
- Higher performance
- Decreased memory usage
- New @ColorLong APIs.
Audio Playback Capture(34:17)
- Capture audio from other apps
- Use AudioPlaybackCaptureConfiguration.
External Storage(34:54)
- Restricting Access to Other Apps' Stuff
- targetSdk = P : No change
- targetSdk = Q
- SandBoxed by default
- Media files: Storage permission + MediaStore
- Photo metadata: Storage + MediaLocation permissions
- All files: Manifest flag
- Understanding Shared-Storage Permission Changes
Location(35:38)
- Location request prompts user
- forground or always
- New permission for background location access
- NewPrivacy Features Related to Location Wed@9:30
Background Activity starts(35:57)
- To start activity, must
- Be in foreground, or handle a...
- Pending intent form foreground app
- pending intent from system (e.g ., tapped notification)
- Broadcast from system
- Consider using notifications instead
- Be in foreground, or handle a...
- Overview of Privacy Changes in Android Q Wed@8:30
Camera(36:30)
- requires Camera permission for device-specific data
- ANDROID_LENS_DISTORTION
- ANDROID_LENS_INFO_MINIMUM_FOCUS_DISTANCE
- Overview of Privacy Changes in Android Q Wed@8:30
Connectivity(36:47)
- Apps cannot enable/disable Wifi
- Wifi network configuration APIs noop
- ACCESS_FINE_LOCATION needed for various network APIs
- Overview of Privacy Changes in Android Q Wed@8:30
Settings Panel(37:04)
- Settings UI directly wihin app