summaryrefslogtreecommitdiffstats
path: root/autoimageslider
diff options
context:
space:
mode:
authorThomas <tschneider.ac@gmail.com>2022-04-27 15:20:42 +0200
committerThomas <tschneider.ac@gmail.com>2022-04-27 15:20:42 +0200
commit0f855c5ac2dccbc1c1df99b9d5ee17d6293d82df (patch)
tree157224e6752e2facae194034e2e709d23a04fc7d /autoimageslider
first commit
Diffstat (limited to 'autoimageslider')
-rw-r--r--autoimageslider/.gitignore1
-rw-r--r--autoimageslider/build.gradle39
-rw-r--r--autoimageslider/proguard-rules.pro21
-rw-r--r--autoimageslider/src/androidTest/java/com/smarteist/autoimageslider/ExampleInstrumentedTest.java27
-rw-r--r--autoimageslider/src/main/AndroidManifest.xml12
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/IndicatorManager.java46
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/PageIndicatorView.java648
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/animation/AnimationManager.java36
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/animation/controller/AnimationController.java296
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/animation/controller/ValueController.java118
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/animation/data/AnimationValue.java78
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/animation/data/Value.java4
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/animation/data/type/ColorAnimationValue.java25
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/animation/data/type/DropAnimationValue.java35
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/animation/data/type/FillAnimationValue.java44
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/animation/data/type/ScaleAnimationValue.java25
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/animation/data/type/SlideAnimationValue.java16
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/animation/data/type/SwapAnimationValue.java25
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/animation/data/type/ThinWormAnimationValue.java16
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/animation/data/type/WormAnimationValue.java25
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/animation/type/BaseAnimation.java50
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/animation/type/ColorAnimation.java123
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/animation/type/DropAnimation.java172
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/animation/type/FillAnimation.java167
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/animation/type/IndicatorAnimationType.java3
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/animation/type/ScaleAnimation.java129
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/animation/type/ScaleDownAnimation.java39
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/animation/type/SlideAnimation.java98
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/animation/type/SwapAnimation.java101
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/animation/type/ThinWormAnimation.java118
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/animation/type/WormAnimation.java198
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/draw/DrawManager.java64
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/draw/controller/AttributeController.java178
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/draw/controller/DrawController.java139
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/draw/controller/MeasureController.java106
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/draw/data/Indicator.java254
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/draw/data/Orientation.java3
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/draw/data/PositionSavedState.java64
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/draw/data/RtlMode.java3
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/draw/drawer/Drawer.java120
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/draw/drawer/type/BaseDrawer.java18
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/draw/drawer/type/BasicDrawer.java63
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/draw/drawer/type/ColorDrawer.java56
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/draw/drawer/type/DropDrawer.java44
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/draw/drawer/type/FillDrawer.java76
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/draw/drawer/type/ScaleDownDrawer.java61
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/draw/drawer/type/ScaleDrawer.java61
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/draw/drawer/type/SlideDrawer.java45
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/draw/drawer/type/SwapDrawer.java70
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/draw/drawer/type/ThinWormDrawer.java57
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/draw/drawer/type/WormDrawer.java60
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/utils/CoordinatesUtils.java195
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/utils/DensityUtils.java15
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/utils/IdUtils.java37
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/InfiniteAdapter/InfinitePagerAdapter.java156
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/SliderAnimations.java26
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/SliderPager.java3127
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/SliderView.java740
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/SliderViewAdapter.java89
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/Transformations/AntiClockSpinTransformation.java41
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/Transformations/Clock_SpinTransformation.java42
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/Transformations/CubeInDepthTransformation.java37
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/Transformations/CubeInRotationTransformation.java36
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/Transformations/CubeInScalingTransformation.java43
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/Transformations/CubeOutDepthTransformation.java40
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/Transformations/CubeOutRotationTransformation.java31
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/Transformations/CubeOutScalingTransformation.java40
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/Transformations/DepthTransformation.java35
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/Transformations/FadeTransformation.java32
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/Transformations/FanTransformation.java35
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/Transformations/FidgetSpinTransformation.java42
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/Transformations/GateTransformation.java39
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/Transformations/HingeTransformation.java36
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/Transformations/HorizontalFlipTransformation.java41
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/Transformations/PopTransformation.java23
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/Transformations/SimpleTransformation.java12
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/Transformations/SpinnerTransformation.java41
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/Transformations/TossTransformation.java48
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/Transformations/VerticalFlipTransformation.java41
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/Transformations/VerticalShutTransformation.java41
-rw-r--r--autoimageslider/src/main/java/com/smarteist/autoimageslider/Transformations/ZoomOutTransformation.java33
-rw-r--r--autoimageslider/src/main/res/values/attrs.xml103
-rw-r--r--autoimageslider/src/main/res/values/strings.xml3
-rw-r--r--autoimageslider/src/test/java/com/smarteist/autoimageslider/ExampleUnitTest.java17
84 files changed, 9594 insertions, 0 deletions
diff --git a/autoimageslider/.gitignore b/autoimageslider/.gitignore
new file mode 100644
index 000000000..796b96d1c
--- /dev/null
+++ b/autoimageslider/.gitignore
@@ -0,0 +1 @@
+/build
diff --git a/autoimageslider/build.gradle b/autoimageslider/build.gradle
new file mode 100644
index 000000000..3acabfb77
--- /dev/null
+++ b/autoimageslider/build.gradle
@@ -0,0 +1,39 @@
+apply plugin: 'com.android.library'
+
+
+android {
+ compileSdkVersion 31
+
+ defaultConfig {
+ minSdkVersion 15
+ targetSdkVersion 31
+ versionCode 5
+ versionName "1.4.0"
+
+ testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
+
+ }
+
+ buildTypes {
+ release {
+ minifyEnabled false
+ proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
+ }
+ }
+
+}
+
+// Add a new configuration to hold your dependencies
+configurations {
+ libConfig
+}
+
+dependencies {
+ implementation fileTree(include: ['*.jar'], dir: 'libs')
+ //noinspection GradleCompatible
+ implementation 'androidx.appcompat:appcompat:1.4.1'
+ testImplementation 'junit:junit:4.13.2'
+ androidTestImplementation 'androidx.test:runner:1.4.0'
+ androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
+
+}
diff --git a/autoimageslider/proguard-rules.pro b/autoimageslider/proguard-rules.pro
new file mode 100644
index 000000000..f1b424510
--- /dev/null
+++ b/autoimageslider/proguard-rules.pro
@@ -0,0 +1,21 @@
+# Add project specific ProGuard rules here.
+# You can control the set of applied configuration files using the
+# proguardFiles setting in build.gradle.
+#
+# For more details, see
+# http://developer.android.com/guide/developing/tools/proguard.html
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+# public *;
+#}
+
+# Uncomment this to preserve the line number information for
+# debugging stack traces.
+#-keepattributes SourceFile,LineNumberTable
+
+# If you keep the line number information, uncomment this to
+# hide the original source file name.
+#-renamesourcefileattribute SourceFile
diff --git a/autoimageslider/src/androidTest/java/com/smarteist/autoimageslider/ExampleInstrumentedTest.java b/autoimageslider/src/androidTest/java/com/smarteist/autoimageslider/ExampleInstrumentedTest.java
new file mode 100644
index 000000000..72b6b6bf8
--- /dev/null
+++ b/autoimageslider/src/androidTest/java/com/smarteist/autoimageslider/ExampleInstrumentedTest.java
@@ -0,0 +1,27 @@
+package com.smarteist.autoimageslider;
+
+import static org.junit.Assert.assertEquals;
+
+import android.content.Context;
+
+import androidx.test.InstrumentationRegistry;
+import androidx.test.runner.AndroidJUnit4;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/**
+ * Instrumented test, which will execute on an Android device.
+ *
+ * @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
+ */
+@RunWith(AndroidJUnit4.class)
+public class ExampleInstrumentedTest {
+ @Test
+ public void useAppContext() {
+ // Context of the app under test.
+ Context appContext = InstrumentationRegistry.getTargetContext();
+
+ assertEquals("com.smarteist.autoimageslider.test", appContext.getPackageName());
+ }
+}
diff --git a/autoimageslider/src/main/AndroidManifest.xml b/autoimageslider/src/main/AndroidManifest.xml
new file mode 100644
index 000000000..058ee0393
--- /dev/null
+++ b/autoimageslider/src/main/AndroidManifest.xml
@@ -0,0 +1,12 @@
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+
+ package="com.smarteist.autoimageslider">
+
+ <application
+ android:allowBackup="true"
+ android:label="@string/app_name"
+ android:supportsRtl="true">
+
+ </application>
+
+</manifest>
diff --git a/autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/IndicatorManager.java b/autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/IndicatorManager.java
new file mode 100644
index 000000000..bf1a8d0bb
--- /dev/null
+++ b/autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/IndicatorManager.java
@@ -0,0 +1,46 @@
+package com.smarteist.autoimageslider.IndicatorView;
+
+import androidx.annotation.Nullable;
+
+import com.smarteist.autoimageslider.IndicatorView.animation.AnimationManager;
+import com.smarteist.autoimageslider.IndicatorView.animation.controller.ValueController;
+import com.smarteist.autoimageslider.IndicatorView.animation.data.Value;
+import com.smarteist.autoimageslider.IndicatorView.draw.DrawManager;
+import com.smarteist.autoimageslider.IndicatorView.draw.data.Indicator;
+
+public class IndicatorManager implements ValueController.UpdateListener {
+
+ private final DrawManager drawManager;
+ private final AnimationManager animationManager;
+ private final Listener listener;
+
+ IndicatorManager(@Nullable Listener listener) {
+ this.listener = listener;
+ this.drawManager = new DrawManager();
+ this.animationManager = new AnimationManager(drawManager.indicator(), this);
+ }
+
+ public AnimationManager animate() {
+ return animationManager;
+ }
+
+ public Indicator indicator() {
+ return drawManager.indicator();
+ }
+
+ public DrawManager drawer() {
+ return drawManager;
+ }
+
+ @Override
+ public void onValueUpdated(@Nullable Value value) {
+ drawManager.updateValue(value);
+ if (listener != null) {
+ listener.onIndicatorUpdated();
+ }
+ }
+
+ interface Listener {
+ void onIndicatorUpdated();
+ }
+}
diff --git a/autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/PageIndicatorView.java b/autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/PageIndicatorView.java
new file mode 100644
index 000000000..ce3c06dbe
--- /dev/null
+++ b/autoimageslider/src/main/java/com/smarteist/autoimageslider/IndicatorView/PageIndicatorView.java
@@ -0,0 +1,648 @@
+package com.smarteist.autoimageslider.IndicatorView;
+
+import android.annotation.SuppressLint;
+import android.annotation.TargetApi;
+import android.content.Context;
+import android.database.DataSetObserver;
+import android.graphics.Canvas;
+import android.os.Build;
+import android.os.Parcelable;
+import android.util.AttributeSet;
+import android.util.Pair;
+import android.view.MotionEvent;
+import android.view.View;
+import android.view.ViewGr