/* ChromeCastSettingFragmentActivity.java Copyright (c) 2014 NTT DOCOMO,INC. Released under the MIT license http://opensource.org/licenses/mit-license.php */ package org.deviceconnect.android.deviceplugin.chromecast.setting; import android.os.Bundle; import android.os.Handler; import android.support.v4.app.Fragment; import android.view.Menu; import android.view.MenuItem; import com.google.android.gms.cast.framework.CastButtonFactory; import com.google.android.gms.cast.framework.IntroductoryOverlay; import org.deviceconnect.android.deviceplugin.chromecast.R; import java.util.ArrayList; /** * チュートリアル画面(ステップ). * <p> * 画面を作成する * </p> * * @author NTT DOCOMO, INC. */ public class ChromeCastSettingFragmentActivity extends DConnectSettingCompatPageFragmentActivity { /** ページUI用Fragment. */ private ArrayList<Fragment> mFragments; private MenuItem mediaRouteMenuItem; private IntroductoryOverlay mIntroductoryOverlay; /** * コンストラクタ. */ public ChromeCastSettingFragmentActivity() { mFragments = new ArrayList<Fragment>(); mFragments.add(new ChromeCastSettingFragmentPage1()); mFragments.add(new ChromeCastSettingFragmentPage2()); mFragments.add(new ChromeCastSettingFragmentPage3()); } @Override public void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); } @Override public int getPageCount() { return mFragments.size(); } @Override public Fragment createPage(final int position) { return mFragments.get(position); } @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); getMenuInflater().inflate(R.menu.browse, menu); mediaRouteMenuItem = CastButtonFactory.setUpMediaRouteButton(this, menu, R.id.media_route_menu_item); showIntroductoryOverlay(); return true; } /** * 説明を表示. */ private void showIntroductoryOverlay() { if (mIntroductoryOverlay != null) { mIntroductoryOverlay.remove(); } new Handler().postDelayed(new Runnable() { @Override public void run() { if ((mediaRouteMenuItem != null) && mediaRouteMenuItem.isVisible()) { mIntroductoryOverlay = new IntroductoryOverlay.Builder( ChromeCastSettingFragmentActivity.this, mediaRouteMenuItem) .setTitleText(getString(R.string.introducing_cast)) .setOverlayColor(R.color.primary) .setSingleTime() .setOnOverlayDismissedListener( new IntroductoryOverlay.OnOverlayDismissedListener() { @Override public void onOverlayDismissed() { mIntroductoryOverlay = null; } }) .build(); mIntroductoryOverlay.show(); } } }, 500); } }