com.android.repository.api
Interface RepositorySourceProvider

All Known Implementing Classes:
ConstantSourceProvider, LocalSourceProvider, RemoteListSourceProvider, RemoteListSourceProviderImpl

public interface RepositorySourceProvider

A source of RepositorySources.


Method Summary
 boolean addSource(RepositorySource source)
          Add a source to this provider, if this provider is editable.
 java.util.List<RepositorySource> getSources(Downloader downloader, SettingsController settings, ProgressIndicator logger, boolean forceRefresh)
          Gets the RepositorySources from this provider.
 boolean isModifiable()
           
 boolean removeSource(RepositorySource source)
          Remove the given source from this provider, if this provider is editable.
 void save(ProgressIndicator progress)
          If any changes have been made, persist them.
 

Method Detail

getSources

@NonNull
java.util.List<RepositorySource> getSources(@Nullable
                                                    Downloader downloader,
                                                    @Nullable
                                                    SettingsController settings,
                                                    @NonNull
                                                    ProgressIndicator logger,
                                                    boolean forceRefresh)
Gets the RepositorySources from this provider.

Parameters:
downloader - The Downloader, if required by this provider.
settings - The SettingsController, if required by this provider.
logger - A ProgressIndicator to be used for showing progress and logging.
forceRefresh - If true, this provider should refresh its list of sources, rather than using a cached version.

addSource

boolean addSource(@NonNull
                  RepositorySource source)
Add a source to this provider, if this provider is editable. Changes will be reflected in getSources(Downloader, SettingsController, ProgressIndicator, boolean), but not persisted until save(ProgressIndicator) is called.

Parameters:
source - The source to add.
Returns:
true if the source was successfully added, false otherwise.

isModifiable

boolean isModifiable()
Returns:
true if this provider can be edited (that is, it has a facility for saving and loading changes), false otherwise.

save

void save(@NonNull
          ProgressIndicator progress)
If any changes have been made, persist them.


removeSource

boolean removeSource(@NonNull
                     RepositorySource source)
Remove the given source from this provider, if this provider is editable.

Parameters:
source - The source to remove.
Returns:
true if the source was successfully removed, false otherwise.
See Also:
addSource(RepositorySource)