|
Android example source code file (AbsSavedState.java)
The AbsSavedState.java Android example source code/* * Copyright (C) 2006 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.view; import android.os.Parcel; import android.os.Parcelable; /** * A {@link Parcelable} implementation that should be used by inheritance * hierarchies to ensure the state of all classes along the chain is saved. */ public abstract class AbsSavedState implements Parcelable { public static final AbsSavedState EMPTY_STATE = new AbsSavedState() {}; private final Parcelable mSuperState; /** * Constructor used to make the EMPTY_STATE singleton */ private AbsSavedState() { mSuperState = null; } /** * Constructor called by derived classes when creating their SavedState objects * * @param superState The state of the superclass of this view */ protected AbsSavedState(Parcelable superState) { if (superState == null) { throw new IllegalArgumentException("superState must not be null"); } mSuperState = superState != EMPTY_STATE ? superState : null; } /** * Constructor used when reading from a parcel. Reads the state of the superclass. * * @param source */ protected AbsSavedState(Parcel source) { // FIXME need class loader Parcelable superState = (Parcelable) source.readParcelable(null); mSuperState = superState != null ? superState : EMPTY_STATE; } final public Parcelable getSuperState() { return mSuperState; } public int describeContents() { return 0; } public void writeToParcel(Parcel dest, int flags) { dest.writeParcelable(mSuperState, flags); } public static final Parcelable.Creator<AbsSavedState> CREATOR = new Parcelable.Creator<AbsSavedState>() { public AbsSavedState createFromParcel(Parcel in) { Parcelable superState = (Parcelable) in.readParcelable(null); if (superState != null) { throw new IllegalStateException("superState must be null"); } return EMPTY_STATE; } public AbsSavedState[] newArray(int size) { return new AbsSavedState[size]; } }; } Other Android examples (source code examples)Here is a short list of links related to this Android AbsSavedState.java source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.