package com.nirhart.shortrain; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; import android.app.Activity; import android.content.pm.ShortcutInfo; import android.content.pm.ShortcutManager; import android.os.Bundle; import android.support.v4.view.ViewPager; import android.view.View; import android.view.WindowManager; import android.view.animation.DecelerateInterpolator; import com.nirhart.shortrain.tutorial.TutorialFragment; import com.nirhart.shortrain.tutorial.TutorialViewPagerAdapter; import com.nirhart.shortrain.utils.ShortcutsUtils; import java.util.Arrays; public class MainActivity extends Activity implements TutorialFragment.OnNextSlideClicked { private TutorialViewPagerAdapter pagerAdapter; private ViewPager viewPager; private View rootView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); ShortcutManager shortcutManager = getSystemService(ShortcutManager.class); shortcutManager.removeAllDynamicShortcuts(); int newWallId = ShortcutsUtils.getNextRailNumber(shortcutManager); ShortcutInfo ballShortcut = ShortcutsUtils.createTrainShortcut(this); ShortcutInfo wallShortcut = ShortcutsUtils.createRailShortcut(this, newWallId); shortcutManager.setDynamicShortcuts(Arrays.asList(ballShortcut, wallShortcut)); setContentView(R.layout.activity_main); rootView = findViewById(R.id.activity_main_root); viewPager = (ViewPager) findViewById(R.id.activity_main_view_pager); pagerAdapter = new TutorialViewPagerAdapter(getFragmentManager()); viewPager.setAdapter(pagerAdapter); rootView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { finishActivity(); } }); } private void finishActivity() { rootView.animate() .alpha(0f) .setDuration(getResources().getInteger(android.R.integer.config_mediumAnimTime)) .setInterpolator(new DecelerateInterpolator()) .setListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { finish(); } }) .start(); } @Override public void onClick(View v) { int currentItem = viewPager.getCurrentItem(); if (currentItem + 1 < pagerAdapter.getCount()) { viewPager.setCurrentItem(currentItem + 1); } else { finishActivity(); } } @Override public void onBackPressed() { finishActivity(); } }