16ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko/*
26ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko * Copyright (C) 2016 The Android Open Source Project
36ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko *
46ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko * Licensed under the Apache License, Version 2.0 (the "License");
56ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko * you may not use this file except in compliance with the License.
66ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko * You may obtain a copy of the License at
76ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko *
86ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko *      http://www.apache.org/licenses/LICENSE-2.0
96ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko *
106ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko * Unless required by applicable law or agreed to in writing, software
116ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko * distributed under the License is distributed on an "AS IS" BASIS,
126ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
136ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko * See the License for the specific language governing permissions and
146ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko * limitations under the License.
156ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko */
166ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko
176ebde20b03db4c0d57f67acaac11832b610b966bNick Chalkopackage com.android.tv.dvr.ui;
186ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko
196ebde20b03db4c0d57f67acaac11832b610b966bNick Chalkoimport android.support.annotation.NonNull;
206ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko
216ebde20b03db4c0d57f67acaac11832b610b966bNick Chalkoimport com.android.tv.common.SoftPreconditions;
226ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko
236ebde20b03db4c0d57f67acaac11832b610b966bNick Chalkoimport java.util.HashMap;
246ebde20b03db4c0d57f67acaac11832b610b966bNick Chalkoimport java.util.Map;
256ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko
266ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko/**
276ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko * Stores the object to pass through activities/fragments.
286ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko */
296ebde20b03db4c0d57f67acaac11832b610b966bNick Chalkopublic class BigArguments {
306ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko    private final static String TAG = "BigArguments";
316ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko    private static Map<String, Object> sBigArgumentMap = new HashMap<>();
326ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko
336ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko    /**
346ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko     * Sets the argument.
356ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko     */
366ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko    public static void setArgument(String name, @NonNull Object value) {
376ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko        SoftPreconditions.checkState(value != null, TAG, "Set argument, but value is null");
386ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko        sBigArgumentMap.put(name, value);
396ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko    }
406ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko
416ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko    /**
426ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko     * Returns the argument which is associated to the name.
436ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko     */
446ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko    public static Object getArgument(String name) {
456ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko        return sBigArgumentMap.get(name);
466ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko    }
476ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko
486ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko    /**
496ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko     * Resets the arguments.
506ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko     */
516ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko    public static void reset() {
526ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko        sBigArgumentMap.clear();
536ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko    }
546ebde20b03db4c0d57f67acaac11832b610b966bNick Chalko}
55