From 57f0a5ecd4afd88659a36fdb698942b0c0cfda9e Mon Sep 17 00:00:00 2001 From: Artem Shvadskiy Date: Wed, 9 Dec 2015 10:46:16 -0800 Subject: Add remote folder if it is not already present after OOBE, and enable toggle in settings to hide remote folder if unwanted. Refactor RemoteFolderUpdater to hold static instance of itself. Refactor FolderInfo to use method for determining remote folder status, instead of manually comparing subType flag. Switch back from temp-coordinates after workspace drag/drop is completed. Remove disable button from remote folder UI. Patch 2: Pull remote folder code out of Launcher and into RemoteFolderManager. Patch 3: Remote @author from RemoteFolderManager Patch 4: 1. Remove delete button from folder. 2. Fix NPE when screens are full. Create a new screen and ad at (0,0). 3. Set default preference to false. 4. Clean up leftover imports and unnecessary conditionals. 5. Refactor Launcher.addFolder() method signature. Patch 5: Add missing parenthesis. Change-Id: I36b7a53175a568c5ebdc908d0256d9128e1bee65 issue-id: CYNGNOS-1378 issue-id: CYNGNOS-1331 --- AndroidManifest.xml | 1 + .../RemoteFolderUpdater.java | 15 ++ res/layout/remote_folder.xml | 11 -- res/values/preferences_defaults.xml | 1 + src/com/android/launcher3/DeleteDropTarget.java | 12 +- src/com/android/launcher3/Folder.java | 12 +- src/com/android/launcher3/FolderIcon.java | 2 +- src/com/android/launcher3/FolderInfo.java | 20 +++ src/com/android/launcher3/Launcher.java | 41 +++--- src/com/android/launcher3/LauncherModel.java | 23 +-- src/com/android/launcher3/LauncherSettings.java | 2 - .../android/launcher3/OverviewSettingsPanel.java | 7 +- src/com/android/launcher3/RemoteFolder.java | 37 ----- src/com/android/launcher3/RemoteFolderManager.java | 159 +++++++++++++++++++++ src/com/android/launcher3/Workspace.java | 8 ++ .../list/SettingsPinnedHeaderAdapter.java | 19 ++- .../launcher3/settings/SettingsProvider.java | 1 + 17 files changed, 265 insertions(+), 106 deletions(-) create mode 100644 src/com/android/launcher3/RemoteFolderManager.java diff --git a/AndroidManifest.xml b/AndroidManifest.xml index d4334242f..2b35a5b89 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -68,6 +68,7 @@ + diff --git a/RemoteFolder/src/com.cyngn.RemoteFolder/RemoteFolderUpdater.java b/RemoteFolder/src/com.cyngn.RemoteFolder/RemoteFolderUpdater.java index eb0da80e8..1322c057d 100644 --- a/RemoteFolder/src/com.cyngn.RemoteFolder/RemoteFolderUpdater.java +++ b/RemoteFolder/src/com.cyngn.RemoteFolder/RemoteFolderUpdater.java @@ -11,11 +11,26 @@ 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 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 diff --git a/res/layout/remote_folder.xml b/res/layout/remote_folder.xml index b185a2109..ffbcb645c 100644 --- a/res/layout/remote_folder.xml +++ b/res/layout/remote_folder.xml @@ -92,17 +92,6 @@ android:background="@drawable/folder_bg"> android:layout_alignParentRight="true" /> -