16ca8525782f16bcb4403dc692a1fefd77934aa31Sergey Vasilinets/*
26ca8525782f16bcb4403dc692a1fefd77934aa31Sergey Vasilinets * Copyright (C) 2017 The Android Open Source Project
36ca8525782f16bcb4403dc692a1fefd77934aa31Sergey Vasilinets *
46ca8525782f16bcb4403dc692a1fefd77934aa31Sergey Vasilinets * Licensed under the Apache License, Version 2.0 (the "License");
56ca8525782f16bcb4403dc692a1fefd77934aa31Sergey Vasilinets * you may not use this file except in compliance with the License.
66ca8525782f16bcb4403dc692a1fefd77934aa31Sergey Vasilinets * You may obtain a copy of the License at
76ca8525782f16bcb4403dc692a1fefd77934aa31Sergey Vasilinets *
86ca8525782f16bcb4403dc692a1fefd77934aa31Sergey Vasilinets *      http://www.apache.org/licenses/LICENSE-2.0
96ca8525782f16bcb4403dc692a1fefd77934aa31Sergey Vasilinets *
106ca8525782f16bcb4403dc692a1fefd77934aa31Sergey Vasilinets * Unless required by applicable law or agreed to in writing, software
116ca8525782f16bcb4403dc692a1fefd77934aa31Sergey Vasilinets * distributed under the License is distributed on an "AS IS" BASIS,
126ca8525782f16bcb4403dc692a1fefd77934aa31Sergey Vasilinets * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
136ca8525782f16bcb4403dc692a1fefd77934aa31Sergey Vasilinets * See the License for the specific language governing permissions and
146ca8525782f16bcb4403dc692a1fefd77934aa31Sergey Vasilinets * limitations under the License.
156ca8525782f16bcb4403dc692a1fefd77934aa31Sergey Vasilinets */
166ca8525782f16bcb4403dc692a1fefd77934aa31Sergey Vasilinets
17bdc4c86d3dff74f6634a38e2f7b316b0e823a2c8Alan Viverettepackage androidx.lifecycle;
186ca8525782f16bcb4403dc692a1fefd77934aa31Sergey Vasilinets
196ca8525782f16bcb4403dc692a1fefd77934aa31Sergey Vasilinets/**
206ca8525782f16bcb4403dc692a1fefd77934aa31Sergey Vasilinets * {@link LiveData} which publicly exposes {@link #setValue(T)} and {@link #postValue(T)} method.
216ca8525782f16bcb4403dc692a1fefd77934aa31Sergey Vasilinets *
226ca8525782f16bcb4403dc692a1fefd77934aa31Sergey Vasilinets * @param <T> The type of data hold by this instance
236ca8525782f16bcb4403dc692a1fefd77934aa31Sergey Vasilinets */
246ca8525782f16bcb4403dc692a1fefd77934aa31Sergey Vasilinets@SuppressWarnings("WeakerAccess")
256ca8525782f16bcb4403dc692a1fefd77934aa31Sergey Vasilinetspublic class MutableLiveData<T> extends LiveData<T> {
266ca8525782f16bcb4403dc692a1fefd77934aa31Sergey Vasilinets    @Override
276ca8525782f16bcb4403dc692a1fefd77934aa31Sergey Vasilinets    public void postValue(T value) {
286ca8525782f16bcb4403dc692a1fefd77934aa31Sergey Vasilinets        super.postValue(value);
296ca8525782f16bcb4403dc692a1fefd77934aa31Sergey Vasilinets    }
306ca8525782f16bcb4403dc692a1fefd77934aa31Sergey Vasilinets
316ca8525782f16bcb4403dc692a1fefd77934aa31Sergey Vasilinets    @Override
326ca8525782f16bcb4403dc692a1fefd77934aa31Sergey Vasilinets    public void setValue(T value) {
336ca8525782f16bcb4403dc692a1fefd77934aa31Sergey Vasilinets        super.setValue(value);
346ca8525782f16bcb4403dc692a1fefd77934aa31Sergey Vasilinets    }
356ca8525782f16bcb4403dc692a1fefd77934aa31Sergey Vasilinets}
36