Name: Android Open Source Project - App Compat Library
URL: https://android.googlesource.com/platform/frameworks/support
Version: unknown
License: Apache 2.0
Security Critical: yes

Description:
This is a modified copy of the swipe refresh layout widget (and its two
dependencies) from Android's app compat library (v4). This has been
migrated to use AndroidX libraries. The widget provides a pull-to-refresh
styled layout for touch-activated refresh of view contents.

Local Modifications:

CircleImageView
  * The package has been changed, and most ViewCompat dependencies removed.
  * The class has been made visible outside of the package.
  * Scalable outer circle can be drawn with a specified color.

MaterialProgressDrawable
  * The package has been changed, and most ViewCompat dependencies removed.
  * The class has been made visible outside of the package.

SwipeRefreshLayout
  * MotionEvent-behavior has been changed to allow more abstract inputs.
  * Target View semantics have been removed, allowing it to operate on
    a parent View rather than a child View.
  * All ViewCompat and MotionEventCompat dependencies removed.
  * Added OnResetListener interface to notify SwipeRefreshHandler to detach
    this view.
  * Optimization to minimize number of relayouts of the UI.
