// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.chrome.browser.firstrun;
import android.app.Fragment;
import android.content.Context;
import android.os.Bundle;
/**
* A first run page shown in the First Run ViewPager.
*/
public class FirstRunPage extends Fragment {
private Bundle mProperties = new Bundle();
/**
* @return Whether this page should be skipped on the FRE creation.
* @param appContext An application context.
*/
public boolean shouldSkipPageOnCreate(Context appContext) {
return false;
}
// Fragment:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState != null) {
mProperties = savedInstanceState;
} else if (getArguments() != null) {
mProperties = getArguments();
} else {
mProperties = new Bundle();
}
}
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putAll(mProperties);
}
/**
* @return Whether the back button press was handled by this page.
*/
public boolean interceptBackPressed() {
return false;
}
/**
* @return Passed arguments if any, or saved instance state if any, or an empty bundle.
*/
protected Bundle getProperties() {
return mProperties;
}
/**
* @return The interface to the host.
*/
protected FirstRunPageDelegate getPageDelegate() {
return (FirstRunPageDelegate) getActivity();
}
/**
* Advances to the next FRE page.
*/
protected void advanceToNextPage() {
getPageDelegate().advanceToNextPage();
}
}