/*
SettingActivity.java
Copyright (c) 2015 NTT DOCOMO,INC.
Released under the MIT license
http://opensource.org/licenses/mit-license.php
*/
package org.deviceconnect.android.deviceplugin.webrtc.setting;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import org.deviceconnect.android.deviceplugin.webrtc.BuildConfig;
import org.deviceconnect.android.deviceplugin.webrtc.setting.fragment.AudioSettingsFragment;
import org.deviceconnect.android.deviceplugin.webrtc.setting.fragment.CameraSettingsFragment;
import org.deviceconnect.android.deviceplugin.webrtc.setting.fragment.PeerSettingsFragment;
import org.deviceconnect.android.deviceplugin.webrtc.setting.fragment.WakeupFragment;
import org.deviceconnect.android.ui.activity.DConnectSettingPageFragmentActivity;
import java.util.List;
/**
* Activity for setting.
*
* @author NTT DOCOMO, INC.
*/
public class SettingActivity extends DConnectSettingPageFragmentActivity {
@SuppressWarnings("rawtypes")
private static final Class[] PAGES = {
WakeupFragment.class,
PeerSettingsFragment.class,
CameraSettingsFragment.class,
AudioSettingsFragment.class,
};
@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getViewPager().setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(final int position, final float positionOffset, final int positionOffsetPixels) {
}
@Override
public void onPageSelected(final int position) {
if (position == 1) {
List<Fragment> fragments = getSupportFragmentManager().getFragments();
for (Fragment f : fragments) {
if (f instanceof PeerSettingsFragment) {
((PeerSettingsFragment) f).reload();
}
}
}
}
@Override
public void onPageScrollStateChanged(final int state) {
}
});
}
@Override
public int getPageCount() {
return PAGES.length;
}
@Override
public Fragment createPage(final int position) {
Fragment page;
try {
page = (Fragment) PAGES[position].newInstance();
} catch (InstantiationException e) {
if (BuildConfig.DEBUG) {
e.printStackTrace();
}
page = null;
} catch (IllegalAccessException e) {
if (BuildConfig.DEBUG) {
e.printStackTrace();
}
page = null;
}
return page;
}
}