18b9c05e03856c6a7c6ebf9e12820472cd1dacb28Sungsoo Lim/*
2816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * Copyright (C) 2015 The Android Open Source Project
38b9c05e03856c6a7c6ebf9e12820472cd1dacb28Sungsoo Lim *
48b9c05e03856c6a7c6ebf9e12820472cd1dacb28Sungsoo Lim * Licensed under the Apache License, Version 2.0 (the "License");
58b9c05e03856c6a7c6ebf9e12820472cd1dacb28Sungsoo Lim * you may not use this file except in compliance with the License.
68b9c05e03856c6a7c6ebf9e12820472cd1dacb28Sungsoo Lim * You may obtain a copy of the License at
78b9c05e03856c6a7c6ebf9e12820472cd1dacb28Sungsoo Lim *
88b9c05e03856c6a7c6ebf9e12820472cd1dacb28Sungsoo Lim *      http://www.apache.org/licenses/LICENSE-2.0
98b9c05e03856c6a7c6ebf9e12820472cd1dacb28Sungsoo Lim *
108b9c05e03856c6a7c6ebf9e12820472cd1dacb28Sungsoo Lim * Unless required by applicable law or agreed to in writing, software
118b9c05e03856c6a7c6ebf9e12820472cd1dacb28Sungsoo Lim * distributed under the License is distributed on an "AS IS" BASIS,
128b9c05e03856c6a7c6ebf9e12820472cd1dacb28Sungsoo Lim * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
138b9c05e03856c6a7c6ebf9e12820472cd1dacb28Sungsoo Lim * See the License for the specific language governing permissions and
147d67089aa1e9aa2123c3cd2f386d7019a1544db1Nick Chalko * limitations under the License
158b9c05e03856c6a7c6ebf9e12820472cd1dacb28Sungsoo Lim */
168b9c05e03856c6a7c6ebf9e12820472cd1dacb28Sungsoo Lim
177d67089aa1e9aa2123c3cd2f386d7019a1544db1Nick Chalkopackage com.android.tv.common.feature;
188b9c05e03856c6a7c6ebf9e12820472cd1dacb28Sungsoo Lim
198b9c05e03856c6a7c6ebf9e12820472cd1dacb28Sungsoo Limimport android.content.Context;
208b9c05e03856c6a7c6ebf9e12820472cd1dacb28Sungsoo Lim
217d67089aa1e9aa2123c3cd2f386d7019a1544db1Nick Chalko/**
227d67089aa1e9aa2123c3cd2f386d7019a1544db1Nick Chalko * A feature is elements of code that are turned off for most users until a feature is fully
237d67089aa1e9aa2123c3cd2f386d7019a1544db1Nick Chalko * launched.
247d67089aa1e9aa2123c3cd2f386d7019a1544db1Nick Chalko *
257d67089aa1e9aa2123c3cd2f386d7019a1544db1Nick Chalko * <p>Expected usage is:
267d67089aa1e9aa2123c3cd2f386d7019a1544db1Nick Chalko * <pre>{@code
277d67089aa1e9aa2123c3cd2f386d7019a1544db1Nick Chalko *     if (MY_FEATURE.isEnabled(context) {
287d67089aa1e9aa2123c3cd2f386d7019a1544db1Nick Chalko *         showNewCoolUi();
297d67089aa1e9aa2123c3cd2f386d7019a1544db1Nick Chalko *     } else{
307d67089aa1e9aa2123c3cd2f386d7019a1544db1Nick Chalko *         showOldBoringUi();
317d67089aa1e9aa2123c3cd2f386d7019a1544db1Nick Chalko *     }
327d67089aa1e9aa2123c3cd2f386d7019a1544db1Nick Chalko * }</pre>
337d67089aa1e9aa2123c3cd2f386d7019a1544db1Nick Chalko */
347d67089aa1e9aa2123c3cd2f386d7019a1544db1Nick Chalkopublic interface Feature {
357d67089aa1e9aa2123c3cd2f386d7019a1544db1Nick Chalko    boolean isEnabled(Context context);
367d67089aa1e9aa2123c3cd2f386d7019a1544db1Nick Chalko
378b9c05e03856c6a7c6ebf9e12820472cd1dacb28Sungsoo Lim
388b9c05e03856c6a7c6ebf9e12820472cd1dacb28Sungsoo Lim}
39