'Restore state from disk.
Load state from disk and restore it. Parameter ``coverage``
limits the amount of data to restore. Possible
values for ``coverage`` (list of one or more of):
- \'tracklist\' fill the tracklist
- \'mode\' set tracklist properties (consume, random, repeat, single)
- \'play-last\' restore play state (\'tracklist\' also required)
- \'mixer\' set mixer volume and mute state
- \'history\' restore history
:param coverage: amount of data to restore
:type coverage: list of strings'

def _load_state(self, coverage):

    file_name = os.path.join(self._get_data_dir(), 'state.json.gz')
    logger.info(u'Loading    state    from    %s', file_name)
    data = storage.load(file_name)
    try:
        os.remove(file_name)
    except OSError:
        logger.info(u'Failed    to    delete    %s', file_name)
    if (u'state' in data):
        core_state = data[u'state']
        validation.check_instance(core_state, CoreState)
        self.history._load_state(core_state.history, coverage)
        self.tracklist._load_state(core_state.tracklist, coverage)
        self.mixer._load_state(core_state.mixer, coverage)
        self.playback._load_state(core_state.playback, coverage)
    logger.debug(u'Loading    state    done')
