/*
LinkingHelpActivity.java
Copyright (c) 2016 NTT DOCOMO,INC.
Released under the MIT license
http://opensource.org/licenses/mit-license.php
*/
package org.deviceconnect.android.deviceplugin.linking.setting;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import org.deviceconnect.android.deviceplugin.linking.R;
import org.deviceconnect.android.deviceplugin.linking.linking.LinkingUtil;
import org.deviceconnect.android.deviceplugin.linking.setting.fragment.LinkingHelpFragment;
public class LinkingHelpActivity extends AppCompatActivity {
public static final String EXTRA_SCREEN_ID = "screenId";
private static final int[][] HELP_RES_ID = {
{
R.layout.fragment_linking_help_1,
R.layout.fragment_linking_help_2,
R.layout.fragment_linking_help_3,
R.layout.fragment_linking_help_4,
R.layout.fragment_linking_help_5,
R.layout.fragment_linking_help_6,
},
{
R.layout.fragment_linking_help_7,
R.layout.fragment_linking_help_4,
R.layout.fragment_linking_help_5,
R.layout.fragment_linking_help_6,
}
};
private int mScreenId;
@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_linking_help);
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setElevation(0);
}
Intent intent = getIntent();
if (intent != null) {
Bundle args = intent.getExtras();
if (args != null) {
mScreenId = args.getInt(EXTRA_SCREEN_ID);
}
}
FragmentManager manager = getSupportFragmentManager();
final ViewPager viewPager = (ViewPager) findViewById(R.id.viewPager);
if (viewPager != null) {
viewPager.setAdapter(new MyFragmentPagerAdapter(manager));
viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
set();
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
}
Button linkingAppBtn = (Button) findViewById(R.id.fragment_linking_app);
if (linkingAppBtn != null) {
linkingAppBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
LinkingUtil.startLinkingApp(getApplicationContext());
}
});
}
Button nextBtn = (Button) findViewById(R.id.fragment_linking_help_next);
if (nextBtn != null) {
nextBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (viewPager != null) {
int pos = viewPager.getCurrentItem() + 1;
if (pos > HELP_RES_ID[mScreenId].length - 1) {
pos = HELP_RES_ID[mScreenId].length - 1;
}
viewPager.setCurrentItem(pos);
}
}
});
}
Button preBtn = (Button) findViewById(R.id.fragment_linking_help_pre);
if (preBtn != null) {
preBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (viewPager != null) {
int pos = viewPager.getCurrentItem() - 1;
if (pos < 0) {
pos = 0;
}
viewPager.setCurrentItem(pos);
}
}
});
}
set();
}
@Override
public boolean onOptionsItemSelected(final MenuItem item) {
if (item.getItemId() == android.R.id.home) {
finish();
return true;
}
return super.onOptionsItemSelected(item);
}
private void set() {
Button nextBtn = (Button) findViewById(R.id.fragment_linking_help_next);
Button preBtn = (Button) findViewById(R.id.fragment_linking_help_pre);
ViewPager viewPager = (ViewPager) findViewById(R.id.viewPager);
if (viewPager != null && nextBtn != null && preBtn != null) {
int position = viewPager.getCurrentItem();
if (position == 0) {
preBtn.setVisibility(View.GONE);
} else {
preBtn.setVisibility(View.VISIBLE);
}
if (position == HELP_RES_ID[mScreenId].length - 1) {
nextBtn.setVisibility(View.GONE);
} else {
nextBtn.setVisibility(View.VISIBLE);
}
}
}
private class MyFragmentPagerAdapter extends FragmentPagerAdapter {
public MyFragmentPagerAdapter(final FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(final int position) {
return LinkingHelpFragment.newInstance(HELP_RES_ID[mScreenId][position]);
}
@Override
public int getCount() {
return HELP_RES_ID[mScreenId].length;
}
}
}