package io.virtualapp.home.repo; import android.content.Context; import com.lody.virtual.remote.InstallResult; import org.jdeferred.Promise; import java.io.File; import java.util.List; import io.virtualapp.home.models.AppData; import io.virtualapp.home.models.AppInfo; import io.virtualapp.home.models.AppInfoLite; /** * @author Lody * @version 1.0 */ public interface AppDataSource { /** * @return All the Applications we Virtual. */ Promise<List<AppData>, Throwable, Void> getVirtualApps(); /** * @param context Context * @return All the Applications we Installed. */ Promise<List<AppInfo>, Throwable, Void> getInstalledApps(Context context); Promise<List<AppInfo>, Throwable, Void> getStorageApps(Context context, File rootDir); InstallResult addVirtualApp(AppInfoLite info); boolean removeVirtualApp(String packageName, int userId); }