diff options
Diffstat (limited to 'RemoteFolder/src/com/android/launcher3/RemoteFolderUpdater.java')
-rw-r--r-- | RemoteFolder/src/com/android/launcher3/RemoteFolderUpdater.java | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/RemoteFolder/src/com/android/launcher3/RemoteFolderUpdater.java b/RemoteFolder/src/com/android/launcher3/RemoteFolderUpdater.java new file mode 100644 index 000000000..954595e1f --- /dev/null +++ b/RemoteFolder/src/com/android/launcher3/RemoteFolderUpdater.java @@ -0,0 +1,83 @@ +package com.android.launcher3; + +import android.content.Context; +import android.content.Intent; +import android.graphics.Bitmap; +import android.view.View; +import java.util.List; +import android.util.Log; + +public class RemoteFolderUpdater { + + private static final String TAG = "RemoteFolderUpdater"; + + private static final Object sLock = new Object(); + private static RemoteFolderUpdater sInstance; + + public interface RemoteFolderUpdateListener { + void onSuccess(List<RemoteFolderInfo> remoteFolderInfoList); + void onFailure(String error); + } + + public static RemoteFolderUpdater getInstance() { + synchronized (sLock) { + if (sInstance == null) { + sInstance = new RemoteFolderUpdater(); + } + + return sInstance; + } + } + + private RemoteFolderUpdater() { } + + /** + * Requests data needed by remote folders. + * @param context + * @param size + * @param listener + */ + public synchronized void requestSync(Context context, final int size, final RemoteFolderUpdateListener listener) { + if (listener != null) { + listener.onFailure("RemoteFolderUpdater may not have been properly setup"); + } + } + + /** + * Register a callback to track clicks on our individual Remote Folder items. Make sure the + * intent associated with each item has a unique ID. + * + * @param view The individual item the user may click (or just clicked) + * @param intent The intent associated with the ShortcutInfo that belongs to our view + */ + public void registerViewForInteraction(View view, Intent intent) { + Log.e(TAG, "Couldn't register view for user interaction, RemoteFolderUpdater may not have been properly setup"); + } + + /** + * Holds important information that the launcher will need for each item in the remote folder. + */ + public class RemoteFolderInfo { + + public void setRecommendationData(View view) { + return; + } + + public String getTitle() { + return null; + } + + public Bitmap getIcon() { + return null; + } + + public String getIconUrl() { + return null; + } + + public Intent getIntent() { + return null; + } + } + +} |