Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Flaggr

A library that allows you to enable/disable features and/or part of code regarding a Context

How to include it

compile 'com.comuto:flaggr:0.X.X'

How to use it

Initialize at the start of the application :

// on onCreate of Application :
Flaggr.with(this).loadConfig(FLAGGR_CONFIG_URI);

The "FLAGGR_CONFIG_URI" is the uri where your flaggs are stored (json file for example)

To reload the feature flags file, the current best solution is to add this code in the onResume method of your MainActivity

Flaggr.with(this).reloadConfig();

Checking if a flag is active :

1 - get Flaggr instance :

  • In an activity & Fragment :
Flaggr.with(this);

2 - Construct the flag context and pass it to isActive (There is a default value of each setter, you can override only the needed setters) :

MyFlagContext.FlagContextBuilder builder = new MyFlagContext.FlagContextBuilder()
        .setLocale(Locale.getDefault())
        .setUserId(myUserId);
Flaggr.with(this).isActive(getString(R.string.my_flag), builder.build());

Your context can contain any type of data, but IT MUST IMPLEMENT THE INTERFACE FlagContextInterface

You can also specify a default value if the flag is not found or an error happens when processing

Flaggr.with(this).isActive(getString(R.string.my_flag), builder.build(), true);

License

Copyright 2016 BlaBlaCar, Inc.

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.
You can’t perform that action at this time.