Skip to content

Commit 2f8cf91

Browse files
committed
Merge pull request #1 from daimajia/master
fixed bugs
2 parents 91165cf + e318cab commit 2f8cf91

File tree

14 files changed

+177
-96
lines changed

14 files changed

+177
-96
lines changed

.travis.yml

Lines changed: 21 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,25 @@
1-
language: java
2-
jdk: oraclejdk7
3-
env:
4-
matrix:
5-
- ANDROID_TARGET=android-20 ANDROID_ABI=armeabi-v7a
1+
language: android
2+
android:
3+
components:
4+
# Uncomment the lines below if you want to
5+
# use the latest revision of Android SDK Tools
6+
# - platform-tools
7+
# - tools
68

7-
before_install:
8-
# Install base Android SDK
9-
- sudo apt-get update -qq
10-
- if [ `uname -m` = x86_64 ]; then sudo apt-get install -qq --force-yes libgd2-xpm ia32-libs ia32-libs-multiarch > /dev/null; fi
11-
- wget http://dl.google.com/android/android-sdk_r23-linux.tgz
12-
- tar xzf android-sdk_r23-linux.tgz
13-
- export ANDROID_HOME=$PWD/android-sdk-linux
14-
- export PATH=${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools
9+
# The BuildTools version used by your project
10+
- build-tools-22.0.1
1511

16-
# Gradle
17-
- wget http://services.gradle.org/distributions/gradle-1.12-bin.zip
18-
- unzip gradle-1.12-bin.zip
19-
- export GRADLE_HOME=$PWD/gradle-1.12
20-
- export PATH=$GRADLE_HOME/bin:$PATH
12+
# The SDK version used to compile your project
13+
- android-22
2114

22-
# Install required components
23-
# For a full list, run `android list sdk -a --extended`
24-
# Note that sysimg-19 downloads only ARM, because only the first license query is accepted.
25-
- echo yes | android update sdk --filter platform-tools --no-ui --force > /dev/null
26-
- echo yes | android update sdk --all --filter build-tools-20.0.0 --no-ui --force > /dev/null
27-
- echo yes | android update sdk --filter android-20 --no-ui --force > /dev/null
28-
- echo yes | android update sdk --filter sys-img-x86-android-19 --no-ui --force > /dev/null
29-
- echo yes | android update sdk --filter extra-android-support --no-ui --force > /dev/null
30-
- echo yes | android update sdk --filter extra-android-m2repository --no-ui --force > /dev/null
15+
# Additional components
16+
- extra-google-google_play_services
17+
- extra-google-m2repository
18+
- extra-android-m2repository
19+
- addon-google_apis-google-19
3120

32-
install:
33-
- ./gradlew assemble
21+
# Specify at least one system image,
22+
# if you need to run emulator(s) during your tests
23+
- sys-img-armeabi-v7a-android-19
24+
- sys-img-x86-android-17
25+
script: ./gradlew assembleDebug

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ dependencies {
2323
compile "com.android.support:support-v4:+"
2424
compile 'com.squareup.picasso:picasso:2.3.2'
2525
compile 'com.nineoldandroids:library:2.4.0'
26-
compile 'com.daimajia.slider:library:1.1.2@aar'
26+
compile 'com.daimajia.slider:library:1.1.5@aar'
2727
}
2828
```
2929

build.gradle

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
11
// Top-level build file where you can add configuration options common to all sub-projects/modules.
22

3+
task wrapper(type: Wrapper) {
4+
gradleVersion = '2.2.1'
5+
}
6+
37
buildscript {
48
repositories {
59
mavenCentral()
610
}
711
dependencies {
8-
classpath 'com.android.tools.build:gradle:0.12.+'
12+
classpath 'com.android.tools.build:gradle:1.1.2'
913
classpath 'com.jakewharton.sdkmanager:gradle-plugin:0.10.+'
1014
}
1115
}

demo/build.gradle

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,19 @@
11
apply plugin: 'android-sdk-manager'
2-
apply plugin: 'android'
2+
apply plugin: 'com.android.application'
33

44

55
android {
6-
compileSdkVersion 20
7-
buildToolsVersion "20"
6+
compileSdkVersion 22
7+
buildToolsVersion "22.0.1"
88

99
defaultConfig {
1010
minSdkVersion 8
11-
targetSdkVersion 20
11+
targetSdkVersion 22
1212
versionCode 2
1313
versionName "1.0.1"
1414
}
1515
buildTypes {
1616
release {
17-
runProguard false
1817
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
1918
}
2019
}
@@ -23,7 +22,7 @@ android {
2322
dependencies {
2423
compile fileTree(dir: 'libs', include: ['*.jar'])
2524
compile project(':library')
26-
compile 'com.android.support:appcompat-v7:20.+'
25+
compile 'com.android.support:appcompat-v7:22.+'
2726
compile 'com.nineoldandroids:library:2.4.0'
2827
compile 'com.daimajia.androidanimations:library:1.0.3@aar'
2928
}

demo/src/main/java/com/daimajia/slider/demo/MainActivity.java

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import android.net.Uri;
55
import android.os.Bundle;
66
import android.support.v7.app.ActionBarActivity;
7+
import android.util.Log;
78
import android.view.Menu;
89
import android.view.MenuInflater;
910
import android.view.MenuItem;
@@ -18,11 +19,12 @@
1819
import com.daimajia.slider.library.SliderLayout;
1920
import com.daimajia.slider.library.SliderTypes.BaseSliderView;
2021
import com.daimajia.slider.library.SliderTypes.TextSliderView;
22+
import com.daimajia.slider.library.Tricks.ViewPagerEx;
2123

2224
import java.util.HashMap;
2325

2426

25-
public class MainActivity extends ActionBarActivity implements BaseSliderView.OnSliderClickListener{
27+
public class MainActivity extends ActionBarActivity implements BaseSliderView.OnSliderClickListener, ViewPagerEx.OnPageChangeListener{
2628

2729
private SliderLayout mDemoSlider;
2830

@@ -54,15 +56,17 @@ protected void onCreate(Bundle savedInstanceState) {
5456
.setOnSliderClickListener(this);
5557

5658
//add your extra information
59+
textSliderView.bundle(new Bundle());
5760
textSliderView.getBundle()
58-
.putString("extra",name);
61+
.putString("extra",name);
5962

6063
mDemoSlider.addSlider(textSliderView);
6164
}
6265
mDemoSlider.setPresetTransformer(SliderLayout.Transformer.Accordion);
6366
mDemoSlider.setPresetIndicator(SliderLayout.PresetIndicators.Center_Bottom);
6467
mDemoSlider.setCustomAnimation(new DescriptionAnimation());
6568
mDemoSlider.setDuration(4000);
69+
mDemoSlider.addOnPageChangeListener(this);
6670
ListView l = (ListView)findViewById(R.id.transformers);
6771
l.setAdapter(new TransformerAdapter(this));
6872
l.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@@ -76,6 +80,13 @@ public void onItemClick(AdapterView<?> parent, View view, int position, long id)
7680

7781
}
7882

83+
@Override
84+
protected void onStop() {
85+
// To prevent a memory leak on rotation, make sure to call stopAutoCycle() on the slider before activity or fragment is destroyed
86+
mDemoSlider.stopAutoCycle();
87+
super.onStop();
88+
}
89+
7990
@Override
8091
public void onSliderClick(BaseSliderView slider) {
8192
Toast.makeText(this,slider.getBundle().get("extra") + "",Toast.LENGTH_SHORT).show();
@@ -108,4 +119,15 @@ public boolean onOptionsItemSelected(MenuItem item) {
108119
}
109120
return super.onOptionsItemSelected(item);
110121
}
122+
123+
@Override
124+
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {}
125+
126+
@Override
127+
public void onPageSelected(int position) {
128+
Log.d("Slider Demo", "Page Changed: " + position);
129+
}
130+
131+
@Override
132+
public void onPageScrollStateChanged(int state) {}
111133
}

gradle/wrapper/gradle-wrapper.jar

2.19 KB
Binary file not shown.
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
#Mon Jun 09 09:36:23 CST 2014
1+
#Sun May 03 23:34:25 CST 2015
22
distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists
6-
distributionUrl=http\://services.gradle.org/distributions/gradle-1.12-all.zip
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip

library/build.gradle

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,17 @@
1-
apply plugin: 'android-library'
1+
apply plugin: 'com.android.library'
22

33
android {
4-
compileSdkVersion 20
5-
buildToolsVersion "20"
4+
compileSdkVersion 22
5+
buildToolsVersion "22.0.1"
66

77
defaultConfig {
88
minSdkVersion 8
9-
targetSdkVersion 20
10-
versionCode 10
11-
versionName "1.0.9"
9+
targetSdkVersion 22
10+
versionCode 15
11+
versionName "1.1.5"
1212
}
1313
buildTypes {
1414
release {
15-
runProguard false
1615
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
1716
}
1817
}
@@ -23,9 +22,9 @@ android {
2322

2423
dependencies {
2524
compile fileTree(dir: 'libs', include: ['*.jar'])
26-
compile 'com.android.support:appcompat-v7:20.+'
27-
compile "com.android.support:support-v4:20.0.+"
28-
compile 'com.squareup.picasso:picasso:+'
29-
compile 'com.nineoldandroids:library:+'
25+
compile 'com.android.support:appcompat-v7:22.1.1'
26+
compile "com.android.support:support-v4:22.1.1"
27+
compile 'com.squareup.picasso:picasso:2.5.2'
28+
compile 'com.nineoldandroids:library:2.4.0'
3029
}
31-
apply from: './gradle-mvn-push.gradle'
30+
apply from: './gradle-mvn-push.gradle'

library/gradle-mvn-push.gradle

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -104,9 +104,15 @@ afterEvaluate { project ->
104104
}
105105
}
106106

107+
107108
task androidJavadocs(type: Javadoc) {
108-
source = android.sourceSets.main
109-
classpath += project.files(android.getBootClasspath() .join(File.pathSeparator))
109+
source = android.sourceSets.main.java.srcDirs
110+
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
111+
options.links("http://docs.oracle.com/javase/7/docs/api/");
112+
options.linksOffline "http://d.android.com/reference","${android.sdkDirectory}/docs/reference"
113+
exclude '**/BuildConfig.java'
114+
exclude '**/R.java'
115+
failOnError = false
110116
}
111117

112118
task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) {
@@ -116,12 +122,12 @@ afterEvaluate { project ->
116122

117123
task androidSourcesJar(type: Jar) {
118124
classifier = 'sources'
119-
from android.sourceSets.main
125+
from android.sourceSets.main.java.sourceFiles
120126
}
121127

122128
artifacts {
123129
archives androidSourcesJar
124130
archives androidJavadocsJar
125-
archives apklib
131+
archives apklib
126132
}
127-
}
133+
}

library/src/main/java/com/daimajia/slider/library/Indicators/PagerIndicator.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,7 @@ public void setViewPager(ViewPagerEx pager){
328328
throw new IllegalStateException("Viewpager does not have adapter instance");
329329
}
330330
mPager = pager;
331-
mPager.setOnPageChangeListener(this);
331+
mPager.addOnPageChangeListener(this);
332332
((InfinitePagerAdapter)mPager.getAdapter()).getRealAdapter().registerDataSetObserver(dataChangeObserver);
333333
}
334334

@@ -444,11 +444,6 @@ private void setItemAsSelected(int position){
444444

445445
@Override
446446
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
447-
if(mItemCount == 0){
448-
return;
449-
}
450-
int n = position % mItemCount;
451-
setItemAsSelected(n - 1);
452447
}
453448

454449
public IndicatorVisibility getIndicatorVisibility(){
@@ -457,7 +452,10 @@ public IndicatorVisibility getIndicatorVisibility(){
457452

458453
@Override
459454
public void onPageSelected(int position) {
460-
455+
if(mItemCount == 0){
456+
return;
457+
}
458+
setItemAsSelected(position-1);
461459
}
462460
@Override
463461
public void onPageScrollStateChanged(int state) {

0 commit comments

Comments
 (0)