package org.osmdroid.intro;
import android.Manifest;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.ViewPager;
import android.view.View;
import android.widget.Button;
import android.widget.ProgressBar;
import org.osmdroid.MainActivity;
import org.osmdroid.R;
/**
* Intro activity, this is a simple intro to osmdroid, some legal stuff, tile storage preference, etc
*
* created on 1/5/2017.
*
* @author Alex O'Ree
*/
public class IntroActivity extends FragmentActivity implements View.OnClickListener, ViewPager.OnPageChangeListener {
ViewPager introviewpager;
ProgressBar introProgressBar;
IntroSliderAdapter adapter;
Button next;
Button prev;
int viewpagerCurrentPosition=0;
@Override
public void onCreate(Bundle savedInstanced){
super.onCreate(savedInstanced);
//skip this nonsense
if (PreferenceManager.getDefaultSharedPreferences(this).contains("osmdroid_first_ran")) {
Intent i = new Intent(this, MainActivity.class);
startActivity(i);
finish();
}
setContentView(R.layout.intro_frame);
introviewpager = (ViewPager)findViewById(R.id.introviewpager);
adapter = new IntroSliderAdapter(getSupportFragmentManager());
introviewpager.setAdapter(adapter);
introviewpager.addOnPageChangeListener(this);
introProgressBar = (ProgressBar)findViewById(R.id.introProgressBar);
introProgressBar.setMax(adapter.getCount()-1);
introProgressBar.setProgress(0);
next = (Button) findViewById(R.id.introNext);
prev = (Button) findViewById(R.id.introPrev);
next.setOnClickListener(this);
prev.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.introNext:
if (viewpagerCurrentPosition+1 < adapter.getCount())
introviewpager.setCurrentItem(viewpagerCurrentPosition+1, true);
else {
SharedPreferences.Editor edit = PreferenceManager.getDefaultSharedPreferences(this).edit();
edit.putString("osmdroid_first_ran", "yes");
edit.commit();
//next to MainActivity
Intent i = new Intent(this, MainActivity.class);
startActivity(i);
finish(); //prevent the back button from returning to this activity
}
break;
case R.id.introPrev:
if (viewpagerCurrentPosition-1 >=0)
introviewpager.setCurrentItem(viewpagerCurrentPosition-1, true);
break;
}
}
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
viewpagerCurrentPosition=position;
introProgressBar.setProgress(position);
if (position ==0) {
prev.setVisibility(View.INVISIBLE);
} else {
prev.setVisibility(View.VISIBLE);
}
if (position == adapter.getCount()-1) {
next.setText(R.string.done);
} else {
next.setText(R.string.next);
}
if (position == 3) {
//storage preference fragment, force the update since now permissions may have been granted
StoragePreferenceFragment item = (StoragePreferenceFragment) adapter.getItem(position);
item.updateStorage(this);
}
}
@Override
public void onPageSelected(int position) {
}
@Override
public void onPageScrollStateChanged(int state) {
}
}