MCPcopy Index your code
hub / github.com/Tibolte/ElasticDownload

github.com/Tibolte/ElasticDownload @1.0.4

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.0.4 ↗ · + Follow
269 symbols 547 edges 14 files 52 documented · 19%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

We are not Gif makers, We are developers

Maven Central Android Arsenal

Recently me and my friend came across this downloading animation on Dribble: https://dribbble.com/shots/1887815-Download?list=users&offset=4 We found it so nice that we decided to develop it for Android!

We implemented it with a custom view, playing with canvas rotation and path drawing.

System Requirement

Android v2.2+

Usage

Grab it from maven:

```groovy compile 'com.github.tibolte:elasticdownload:1.0.+'



Declare this view in your layout like below, it's also possible to inflate it manually.

```java
    <is.arontibo.library.ElasticDownloadView
        android:id="@+id/elastic_download_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"/>

At first, call startIntro() to make the view be able to display any percentage:

```java @InjectView(R.id.elastic_download_view) ElasticDownloadView mElasticDownloadView;

mElasticDownloadView.startIntro();

Set any progress:

```java
    mElasticDownloadView.setProgress(25);

Notify if the download has failed or not:

```java mElasticDownloadView.success(); //This function moves the cursor to 100 if the progress has not been set already

mElasticDownloadView.fail();

````

Participating?

Make your pull requests on feature or bugfix branches.

License

Copyright 2015 Thibault Guégan and Aron Ingi Óskarsson

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Extension points exported contracts — how you extend this code

Tintable (Interface)
(no doc) [4 implementers]
elasticdownload/src/main/java/is/arontibo/library/VectorCompat/Tintable.java
Callback (Interface)
(no doc) [1 implementers]
elasticdownload/src/main/java/is/arontibo/library/AVDWrapper.java
EnterAnimationListener (Interface)
(no doc) [1 implementers]
elasticdownload/src/main/java/is/arontibo/library/IntroView.java

Core symbols most depended-on inside this repo

getProgress
called by 9
elasticdownload/src/main/java/is/arontibo/library/ProgressDownloadView.java
set
called by 9
elasticdownload/src/main/java/is/arontibo/library/VectorCompat/Outline.java
obtainAttributes
called by 8
elasticdownload/src/main/java/is/arontibo/library/VectorCompat/DrawableCompat.java
updateLocalMatrix
called by 8
elasticdownload/src/main/java/is/arontibo/library/VectorCompat/VectorDrawable.java
getRootAlpha
called by 7
elasticdownload/src/main/java/is/arontibo/library/VectorCompat/VectorDrawable.java
updateTintFilter
called by 6
elasticdownload/src/main/java/is/arontibo/library/VectorCompat/DrawableCompat.java
drawPath
called by 6
elasticdownload/src/main/java/is/arontibo/library/VectorCompat/VectorDrawable.java
start
called by 5
elasticdownload/src/main/java/is/arontibo/library/AVDWrapper.java

Shape

Method 241
Class 24
Interface 3
Enum 1

Languages

Java100%

Modules by API surface

elasticdownload/src/main/java/is/arontibo/library/VectorCompat/VectorDrawable.java118 symbols
elasticdownload/src/main/java/is/arontibo/library/VectorCompat/AnimatedVectorDrawable.java41 symbols
elasticdownload/src/main/java/is/arontibo/library/ProgressDownloadView.java20 symbols
elasticdownload/src/main/java/is/arontibo/library/VectorCompat/PathParser.java18 symbols
elasticdownload/src/main/java/is/arontibo/library/VectorCompat/DrawableCompat.java13 symbols
elasticdownload/src/main/java/is/arontibo/library/VectorCompat/PathAnimatorInflater.java10 symbols
elasticdownload/src/main/java/is/arontibo/library/VectorCompat/Outline.java10 symbols
elasticdownload/src/main/java/is/arontibo/library/ElasticDownloadView.java10 symbols
elasticdownload/src/main/java/is/arontibo/library/IntroView.java9 symbols
elasticdownload/src/main/java/is/arontibo/library/AVDWrapper.java8 symbols
example/src/main/java/is/arontibo/sample/MainActivity.java5 symbols
elasticdownload/src/main/java/is/arontibo/library/VectorCompat/Tintable.java3 symbols

For agents

$ claude mcp add ElasticDownload \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact