class StorageNotLowTracker extends BroadcastReceiverConstraintTracker<Boolean> {

    @Override
    public Boolean getInitialState() {
        Intent intent = mAppContext.registerReceiver(null, getIntentFilter());
        if (intent == null || intent.getAction() == null) {
            // ACTION_DEVICE_STORAGE_LOW is a sticky broadcast that is removed when sufficient
            // storage is available again.  ACTION_DEVICE_STORAGE_OK is not sticky.  So if we
            // don't receive anything here, we can assume that the storage state is okay.
            return true;
        } else {
            switch (intent.getAction()) {
                case Intent.ACTION_DEVICE_STORAGE_OK:
                    return true;

                case Intent.ACTION_DEVICE_STORAGE_LOW:
                    return false;

                default:
                    // This should never happen because the intent filter is configured
                    // correctly.
                    return null;
            }
        }
    }

    public  StorageNotLowTracker(Context context);

}