Skip to content

Instantly share code, notes, and snippets.

@myeonginwoo
Last active June 28, 2019 05:18
Show Gist options
  • Save myeonginwoo/b33a7f50e82a843f0c516d8d36dddbeb to your computer and use it in GitHub Desktop.
Save myeonginwoo/b33a7f50e82a843f0c516d8d36dddbeb to your computer and use it in GitHub Desktop.

What's new in Android

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
  • separate - gentle | priority
  • automatically generated reply
  • text based on message content
  • 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
  • Demystifying Android Accessibility Development Wed@9:30

Text(12:00)

  • hyphenation

Magnifier(13:35)

  • Configurable with Magnifier.Builder
  • 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
  • PowerManager
  • Machine Learning
  • What's New Android Machine Learning
  • android.preference deprecated
  • androidx.preference
  • YouTube (ADS'18): Preferential Practices for Preferences
  • 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
  • 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
  • No more findViewById()
    • Bindings generated form XML layout files
    • Null-safe, type0safe fields
  • what's New in Architecture Components Wed@1:30
  • android.graphics.BlendMode
  • HARD_LIGHT
  • SOFT_LIGHT
  • etc..

RenderNode(29:18)

  • Efficient rendering
  • Can be hierarchical
  • Cast shadows without a View
  • 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
  • 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
  • Introduced in O, using 16bit color depth
  • Now uses 8 bit color depth instead
    • Higher performance
    • Decreased memory usage
  • New @ColorLong APIs.
  • Capture audio from other apps
  • Use AudioPlaybackCaptureConfiguration.
  • 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
  • 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
  • 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
  • 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 UI directly wihin app
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment