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