import
android.content.Intent;
import
android.os.Bundle;
import
android.view.MotionEvent;
import
android.view.View;
import
android.view.WindowManager;
import
android.widget.ImageView;
import
androidx.appcompat.app.AppCompatActivity;
import
jp.shts.android.storiesprogressview.StoriesProgressView;
public
class
StoriesActivity
extends
AppCompatActivity
implements
StoriesProgressView.StoriesListener {
private
final
int
[] resources =
new
int
[]{
R.drawable.logo1,
R.drawable.logo2,
R.drawable.logo1,
R.drawable.logo2,
R.drawable.logo1,
R.drawable.logo2,
};
long
pressTime = 0L;
long
limit = 500L;
private
StoriesProgressView storiesProgressView;
private
ImageView image;
private
int
counter =
0
;
private
View.OnTouchListener onTouchListener =
new
View.OnTouchListener() {
@Override
public
boolean
onTouch(View v, MotionEvent event) {
switch
(event.getAction()) {
case
MotionEvent.ACTION_DOWN:
pressTime = System.currentTimeMillis();
storiesProgressView.pause();
return
false
;
case
MotionEvent.ACTION_UP:
long
now = System.currentTimeMillis();
storiesProgressView.resume();
return
limit < now - pressTime;
}
return
false
;
}
};
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_stories);
storiesProgressView = (StoriesProgressView) findViewById(R.id.stories);
storiesProgressView.setStoriesCount(resources.length);
storiesProgressView.setStoryDuration(3000L);
storiesProgressView.setStoriesListener(
this
);
storiesProgressView.startStories(counter);
image = (ImageView) findViewById(R.id.image);
image.setImageResource(resources[counter]);
View reverse = findViewById(R.id.reverse);
reverse.setOnClickListener(
new
View.OnClickListener() {
@Override
public
void
onClick(View v) {
storiesProgressView.reverse();
}
});
reverse.setOnTouchListener(onTouchListener);
View skip = findViewById(R.id.skip);
skip.setOnClickListener(
new
View.OnClickListener() {
@Override
public
void
onClick(View v) {
storiesProgressView.skip();
}
});
skip.setOnTouchListener(onTouchListener);
}
@Override
public
void
onNext() {
image.setImageResource(resources[++counter]);
}
@Override
public
void
onPrev() {
if
((counter -
1
) <
0
)
return
;
image.setImageResource(resources[--counter]);
}
@Override
public
void
onComplete() {
Intent i =
new
Intent(StoriesActivity.
this
, MainActivity.
class
);
startActivity(i);
finish();
}
@Override
protected
void
onDestroy() {
storiesProgressView.destroy();
super
.onDestroy();
}
}