Skip to content

Commit 3ad1027

Browse files
authored
Merge pull request #2 from sam43/java_implementation
Java implementation of the library
2 parents 28be2e1 + 61e0976 commit 3ad1027

6 files changed

Lines changed: 112 additions & 24 deletions

File tree

app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ android {
2828

2929
dependencies {
3030
implementation fileTree(dir: 'libs', include: ['*.jar'])
31-
//implementation project(":lets_go_splash")
32-
implementation 'com.github.sam43:AnimateViewLibrary:1.0.0'
31+
implementation project(":lets_go_splash")
32+
//implementation 'com.github.sam43:AnimateViewLibrary:1.0.0'
3333
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
3434
implementation 'androidx.appcompat:appcompat:1.1.0'
3535
implementation 'androidx.core:core-ktx:1.2.0'

app/src/main/AndroidManifest.xml

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,34 @@
99
android:roundIcon="@mipmap/ic_launcher_round"
1010
android:supportsRtl="true"
1111
android:theme="@style/AppTheme">
12-
<activity android:name=".StarterActivity"
12+
<activity
13+
android:name=".JavaSplashActivity"
14+
android:theme="@style/SplashTheme">
15+
16+
<!--
17+
this below block will be uncommented when you want to test the library in java projects,
18+
JavaSplashActivity is the implementation fpr that
19+
-->
20+
21+
<!--<intent-filter>
22+
<action android:name="android.intent.action.MAIN" />
23+
24+
<category android:name="android.intent.category.LAUNCHER" />
25+
</intent-filter>-->
26+
</activity>
27+
<activity
28+
android:name=".StarterActivity"
1329
android:theme="@style/SplashTheme">
1430
<intent-filter>
1531
<action android:name="android.intent.action.MAIN" />
32+
1633
<category android:name="android.intent.category.LAUNCHER" />
1734
</intent-filter>
1835
</activity>
1936
<activity android:name=".MainActivity">
2037
<intent-filter>
2138
<action android:name="android.intent.action.MAIN" />
39+
2240
<category android:name="android.intent.category.DEFAULT" />
2341
</intent-filter>
2442
</activity>
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
package com.app.splashapplication;
2+
3+
import android.content.Intent;
4+
import android.os.Bundle;
5+
import android.view.View;
6+
import android.view.animation.Animation;
7+
import android.widget.ImageView;
8+
9+
import androidx.appcompat.app.AppCompatActivity;
10+
11+
import com.app.lets_go_splash.CreateAnim;
12+
import com.app.lets_go_splash.OnAnimationListener;
13+
import com.app.lets_go_splash.StarterAnimation;
14+
15+
import java.util.ArrayList;
16+
17+
public class JavaSplashActivity extends AppCompatActivity {
18+
19+
private ImageView appLogo;
20+
21+
@Override
22+
protected void onCreate(Bundle savedInstanceState) {
23+
super.onCreate(savedInstanceState);
24+
setContentView(R.layout.activity_starter);
25+
useStarterLibrary();
26+
}
27+
28+
private void useStarterLibrary() {
29+
appLogo = findViewById(R.id.imageView);
30+
new StarterAnimation(getAnimList(), new OnAnimationListener() {
31+
@Override
32+
public void onStartAnim() { // TODO::
33+
}
34+
35+
@Override
36+
public void onRepeat() { // TODO::
37+
}
38+
39+
@Override
40+
public void onEnd() {
41+
whatToDoNext();
42+
}
43+
}).startSequentialAnimation(appLogo);
44+
}
45+
46+
private void whatToDoNext() {
47+
appLogo.setVisibility(View.GONE);
48+
Intent intent = new Intent(this, MainActivity.class);
49+
startActivity(intent);
50+
overridePendingTransition(R.anim.whole_animation, R.anim.no_animaiton);
51+
finish();
52+
}
53+
54+
private ArrayList<Animation> getAnimList() {
55+
ArrayList<Animation> animList = new ArrayList<>();
56+
animList.add(CreateAnim.INSTANCE.createAnimation(getApplicationContext(), R.anim.no_animaiton));
57+
animList.add(CreateAnim.INSTANCE.createAnimation(getApplicationContext(), R.anim.rotate));
58+
animList.add(CreateAnim.INSTANCE.createAnimation(getApplicationContext(), R.anim.zoom_out_fast));
59+
animList.add(CreateAnim.INSTANCE.createAnimation(getApplicationContext(), R.anim.fade_in));
60+
61+
return animList;
62+
}
63+
}

app/src/main/java/com/app/splashapplication/StarterActivity.kt

Lines changed: 6 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ import android.os.Bundle
88
import android.view.View
99
import android.view.WindowManager
1010
import android.view.animation.Animation
11-
import android.view.animation.AnimationUtils
1211
import android.widget.Toast
1312
import androidx.appcompat.app.AppCompatActivity
13+
import com.app.lets_go_splash.CreateAnim.createAnimation
1414
import com.app.lets_go_splash.OnAnimationListener
1515
import com.app.lets_go_splash.StarterAnimation
1616
import kotlinx.android.synthetic.main.activity_starter.*
@@ -44,26 +44,11 @@ class StarterActivity : AppCompatActivity() {
4444
private fun getAnimList(): ArrayList<Animation> {
4545
// create list of animations
4646
val animList: ArrayList<Animation> = ArrayList()
47-
val anim = AnimationUtils.loadAnimation(
48-
applicationContext,
49-
R.anim.no_animaiton
50-
)
51-
val anim1 = AnimationUtils.loadAnimation(
52-
applicationContext,
53-
R.anim.rotate
54-
)
55-
val anim2 = AnimationUtils.loadAnimation(
56-
applicationContext,
57-
R.anim.zoom_out_fast
58-
)
59-
val anim4 = AnimationUtils.loadAnimation(
60-
applicationContext,
61-
R.anim.fade_in
62-
)
63-
animList.add(anim)
64-
animList.add(anim1)
65-
animList.add(anim2)
66-
animList.add(anim4)
47+
48+
animList.add(createAnimation(applicationContext, R.anim.no_animaiton))
49+
animList.add(createAnimation(applicationContext, R.anim.rotate))
50+
animList.add(createAnimation(applicationContext, R.anim.zoom_out_fast))
51+
animList.add(createAnimation(applicationContext, R.anim.fade_in))
6752

6853
return animList
6954
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
3+
xmlns:tools="http://schemas.android.com/tools"
4+
android:layout_width="match_parent"
5+
android:layout_height="match_parent"
6+
tools:context=".JavaSplashActivity">
7+
8+
</androidx.constraintlayout.widget.ConstraintLayout>
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package com.app.lets_go_splash
2+
3+
import android.content.Context
4+
import android.view.animation.Animation
5+
import android.view.animation.AnimationUtils
6+
7+
object CreateAnim {
8+
fun createAnimation(applicationContext: Context, animFile: Int): Animation {
9+
return AnimationUtils.loadAnimation(
10+
applicationContext,
11+
animFile
12+
)
13+
}
14+
}

0 commit comments

Comments
 (0)