diff options
Diffstat (limited to 'src/com')
-rw-r--r-- | src/com/android/launcher3/Folder.java | 1 | ||||
-rw-r--r-- | src/com/android/launcher3/LauncherModel.java | 3 | ||||
-rw-r--r-- | src/com/android/launcher3/OverviewSettingsPanel.java | 46 | ||||
-rw-r--r-- | src/com/android/launcher3/RemoteFolderManager.java | 159 | ||||
-rw-r--r-- | src/com/android/launcher3/Workspace.java | 6 |
5 files changed, 28 insertions, 187 deletions
diff --git a/src/com/android/launcher3/Folder.java b/src/com/android/launcher3/Folder.java index a0bb2dc93..2bd656565 100644 --- a/src/com/android/launcher3/Folder.java +++ b/src/com/android/launcher3/Folder.java @@ -64,7 +64,6 @@ import android.widget.TextView; import com.android.launcher3.FolderInfo.FolderListener; import com.android.launcher3.compat.UserHandleCompat; import com.android.launcher3.settings.SettingsProvider; -import com.cyngn.RemoteFolder.RemoteFolderUpdater; import java.util.ArrayList; import java.util.Collections; diff --git a/src/com/android/launcher3/LauncherModel.java b/src/com/android/launcher3/LauncherModel.java index 365396b16..600fbd24c 100644 --- a/src/com/android/launcher3/LauncherModel.java +++ b/src/com/android/launcher3/LauncherModel.java @@ -30,7 +30,6 @@ import android.content.Intent; import android.content.Intent.ShortcutIconResource; import android.content.IntentFilter; import android.content.SharedPreferences; -import android.content.pm.LauncherApps.Callback; import android.content.pm.PackageManager; import android.content.pm.ProviderInfo; import android.content.pm.ResolveInfo; @@ -63,8 +62,6 @@ import com.android.launcher3.compat.UserManagerCompat; import com.android.launcher3.settings.SettingsProvider; import com.android.launcher3.stats.internal.service.AggregationIntentService; -import com.cyngn.RemoteFolder.RemoteFolderUpdater; - import java.lang.ref.WeakReference; import java.net.URISyntaxException; import java.security.InvalidParameterException; diff --git a/src/com/android/launcher3/OverviewSettingsPanel.java b/src/com/android/launcher3/OverviewSettingsPanel.java index 58567abea..6ce0d6362 100644 --- a/src/com/android/launcher3/OverviewSettingsPanel.java +++ b/src/com/android/launcher3/OverviewSettingsPanel.java @@ -10,6 +10,10 @@ import android.widget.ImageView; import android.widget.ListView; import com.android.launcher3.list.PinnedHeaderListView; import com.android.launcher3.list.SettingsPinnedHeaderAdapter; +import com.android.launcher3.settings.SettingsProvider; + +import java.util.ArrayList; +import java.util.Arrays; public class OverviewSettingsPanel { public static final String ANDROID_SETTINGS = "com.android.settings"; @@ -41,14 +45,6 @@ public class OverviewSettingsPanel { res.getString(R.string.drawer_settings), res.getString(R.string.app_settings)}; - String[] values = new String[]{ - res.getString(R.string.home_screen_search_text), - res.getString(R.string.scroll_effect_text), - res.getString(R.string.icon_labels), - res.getString(R.string.scrolling_wallpaper), - res.getString(R.string.grid_size_text), - res.getString(R.string.recommendations_title)}; - String[] valuesDrawer = new String[] { res.getString(R.string.drawer_type), res.getString(R.string.scroll_effect_text), @@ -59,7 +55,6 @@ public class OverviewSettingsPanel { res.getString(R.string.larger_icons_text), res.getString(R.string.protected_app_settings)}; - mSettingsAdapter = new SettingsPinnedHeaderAdapter(mLauncher); mSettingsAdapter.setHeaders(headers); mSettingsAdapter.addPartition(false, true); @@ -67,7 +62,8 @@ public class OverviewSettingsPanel { mSettingsAdapter.addPartition(false, true); mSettingsAdapter.mPinnedHeaderCount = headers.length; - mSettingsAdapter.changeCursor(HOME_SETTINGS_POSITION, createCursor(headers[0], values)); + mSettingsAdapter.changeCursor(HOME_SETTINGS_POSITION, + createCursor(headers[0], getValues())); mSettingsAdapter.changeCursor(DRAWER_SETTINGS_POSITION, createCursor(headers[1], valuesDrawer)); mSettingsAdapter.changeCursor(APP_SETTINGS_POSITION, createCursor(headers[2], valuesApp)); @@ -83,6 +79,27 @@ public class OverviewSettingsPanel { return cursor; } + private String[] getValues() { + Resources res = mLauncher.getResources(); + ArrayList<String> values = new ArrayList<String>(Arrays.asList(new String[]{ + res.getString(R.string.home_screen_search_text), + res.getString(R.string.scroll_effect_text), + res.getString(R.string.icon_labels), + res.getString(R.string.scrolling_wallpaper), + res.getString(R.string.grid_size_text)})); + + // Optionally add additional value based on setting + boolean remoteAppsEnabled = SettingsProvider.getBoolean(mLauncher, null, + R.bool.preferences_interface_homescreen_remote_folder_default); + if (remoteAppsEnabled) { + values.add(res.getString(R.string.recommendations_title)); + } + + String[] valuesArr = new String[values.size()]; + values.toArray(valuesArr); + return valuesArr; + } + // One time View setup public void initializeViews() { mOverviewPanel.setAlpha(0f); @@ -170,15 +187,8 @@ public class OverviewSettingsPanel { mSettingsAdapter.changeCursor(0, createCursor(res .getString(R.string.home_screen_settings), new String[]{})); } else { - String[] values = new String[] { - res.getString(R.string.home_screen_search_text), - res.getString(R.string.scroll_effect_text), - res.getString(R.string.icon_labels), - res.getString(R.string.scrolling_wallpaper), - res.getString(R.string.grid_size_text), - res.getString(R.string.recommendations_title)}; mSettingsAdapter.changeCursor(0, createCursor(res - .getString(R.string.home_screen_settings), values)); + .getString(R.string.home_screen_settings), getValues())); } // Make sure overview panel is drawn above apps customize and collapsed diff --git a/src/com/android/launcher3/RemoteFolderManager.java b/src/com/android/launcher3/RemoteFolderManager.java deleted file mode 100644 index efbc9159d..000000000 --- a/src/com/android/launcher3/RemoteFolderManager.java +++ /dev/null @@ -1,159 +0,0 @@ -package com.android.launcher3; - -import android.util.Log; -import android.util.Pair; -import android.view.View; -import com.android.launcher3.settings.SettingsProvider; - -import java.util.ArrayList; - -/** - * Manages adding and removing the remote folder from the workspace. - */ -public class RemoteFolderManager { - private static final String TAG = "RemoteFolderManager"; - - private final Launcher mLauncher; - - /** View which is displayed in the workspace **/ - private FolderIcon mRemoteFolder; - /** Coordinates of the folder's position before being hidden **/ - private int[] mRemoteFolderCell; - - public RemoteFolderManager(final Launcher launcher) { - mLauncher = launcher; - mRemoteFolderCell = new int[2]; - } - - public void setRemoteFolder(final FolderIcon remoteFolder) { - mRemoteFolder = remoteFolder; - } - - /** - * Called when Launcher finishes binding items from the model. - */ - public void bindFinished() { - boolean remoteFolderEnabled = SettingsProvider.getBoolean(mLauncher, - SettingsProvider.SETTINGS_UI_HOMESCREEN_REMOTE_FOLDER, - R.bool.preferences_interface_homescreen_remote_folder_default); - if (remoteFolderEnabled && mRemoteFolder == null) { - showRemoteFolder(); - } else if (!remoteFolderEnabled) { - // We might load the remote folder on startup, but we shouldn't show it - hideRemoteFolder(); - } - } - - /** - * Called when the setting for remote folder is updated. - * @param newValue the new setting for remote folder - */ - public void onSettingChanged(final boolean newValue) { - if (newValue) { - showRemoteFolder(); - } else { - hideRemoteFolder(); - } - } - - /** - * Called when the remote folder is dropped into the delete area on the workspace. - */ - public void onFolderDeleted() { - hideRemoteFolder(); - SettingsProvider.putBoolean(mLauncher, - SettingsProvider.SETTINGS_UI_HOMESCREEN_REMOTE_FOLDER, false); - mLauncher.mOverviewSettingsPanel.notifyDataSetInvalidated(); - } - - private void showRemoteFolder() { - int[] cell; - long screen; - long container; - boolean findNewSpace = true; - FolderInfo folderInfo = null; - Workspace workspace = mLauncher.getWorkspace(); - - // Check if we can re-add at our old location - if (mRemoteFolder != null) { - folderInfo = mRemoteFolder.getFolderInfo(); - CellLayout cellLayout = mLauncher.getCellLayout( - folderInfo.container, folderInfo.screenId); - if (cellLayout != null - && !cellLayout.isOccupied(mRemoteFolderCell[0], mRemoteFolderCell[1])) { - findNewSpace = false; - } - } - if (findNewSpace) { - // Try to find a new space to add. - Pair<Long, int[]> space = LauncherModel.findNextAvailableIconSpace(mLauncher, null, - null, 0, new ArrayList<Long>(workspace.getWorkspaceScreenIds())); - - // All screens are full. Create a new screen. - if (space == null) { - workspace.addExtraEmptyScreen(); - screen = workspace.commitExtraEmptyScreen(); - cell = new int[2]; - } else { - screen = space.first; - cell = space.second; - } - - container = LauncherSettings.Favorites.CONTAINER_DESKTOP; - } else { - screen = folderInfo.screenId; - cell = mRemoteFolderCell; - container = folderInfo.container; - } - - // Create the folder if this is our first time showing it - if (mRemoteFolder == null) { - folderInfo = new FolderInfo(); - folderInfo.setTitle(mLauncher.getString(R.string.recommendations_title)); - folderInfo.setRemote(true); - - CellLayout cellLayout = mLauncher.getCellLayout(container, screen); - mRemoteFolder = mLauncher.addFolder(cellLayout, container, screen, - cell[0], cell[1], folderInfo); - - mLauncher.getModel().syncRemoteFolder(folderInfo, mLauncher); - } else { - // Folder may be hidden by drop delete animation, so force visibility. - mRemoteFolder.setVisibility(View.VISIBLE); - workspace.addInScreen(mRemoteFolder, container, screen, - cell[0], cell[1], 1, 1, mLauncher.isWorkspaceLocked()); - mLauncher.getCellLayout(container, screen) - .getShortcutsAndWidgets().measureChild(mRemoteFolder); - - // Update the model - folderInfo.cellX = cell[0]; - folderInfo.cellY = cell[1]; - folderInfo.container = container; - folderInfo.screenId = screen; - LauncherModel.updateItemInDatabase(mLauncher, folderInfo); - } - } - - private void hideRemoteFolder() { - // Remote folder does not exist - if (mRemoteFolder == null) { - Log.e(TAG, "Remote folder is null"); - return; - } - - FolderInfo info = mRemoteFolder.getFolderInfo(); - - // Store our current location so we can try to re-add in the same spot later. - mRemoteFolderCell[0] = info.cellX; - mRemoteFolderCell[1] = info.cellY; - - // Clear the spot - mLauncher.getCellLayout(info.container, info.screenId).removeView(mRemoteFolder); - info.cellX = -1; - info.cellY = -1; - LauncherModel.updateItemInDatabase(mLauncher, info); - - // We may be removing from a screen we're on alone, so remove it if necessary. - mLauncher.getWorkspace().removeExtraEmptyScreen(false, true); - } -} diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java index e6087a666..e98f12f6e 100644 --- a/src/com/android/launcher3/Workspace.java +++ b/src/com/android/launcher3/Workspace.java @@ -31,10 +31,7 @@ import android.appwidget.AppWidgetHostView; import android.appwidget.AppWidgetProviderInfo; import android.content.ComponentName; import android.content.Context; -import android.content.Intent; import android.content.SharedPreferences; -import android.content.pm.PackageManager; -import android.content.pm.ResolveInfo; import android.content.res.Resources; import android.content.res.TypedArray; import android.graphics.Bitmap; @@ -76,14 +73,11 @@ import com.android.launcher3.compat.PackageInstallerCompat; import com.android.launcher3.compat.PackageInstallerCompat.PackageInstallInfo; import com.android.launcher3.compat.UserHandleCompat; import com.android.launcher3.settings.SettingsProvider; -import com.cyngn.RemoteFolder.RemoteFolderUpdater; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; -import java.util.List; -import java.util.Map; import java.util.Set; import java.util.concurrent.atomic.AtomicInteger; |