diff options
7 files changed, 29 insertions, 20 deletions
diff --git a/RemoteFolder/src/com/android/launcher3/RemoteFolderManager.java b/RemoteFolder/src/com/android/launcher3/RemoteFolderManager.java index 8bb55a69f..5d84c53b7 100644 --- a/RemoteFolder/src/com/android/launcher3/RemoteFolderManager.java +++ b/RemoteFolder/src/com/android/launcher3/RemoteFolderManager.java @@ -47,10 +47,9 @@ public class RemoteFolderManager { public void bindFinished() { } /** - * Called when the setting for remote folder is updated. - * @param newValue the new setting for remote folder + * Called when a setting for remote folder is updated. */ - public void onSettingChanged(final boolean newValue) { } + public void onSettingChanged() { } /** * Called when the remote folder is dropped into the delete area on the workspace. @@ -121,8 +120,10 @@ public class RemoteFolderManager { public void onBindViewHolder(final AllAppsGridAdapter.ViewHolder holder, final AppInfo item) { } /** - * Get the String to be used for the RemoteFolder name and its corresponding Settings option - * @return the name RemoteFolder and its Setting option should use + * Populate settings list with additional values as needed. + * @param values list of settings strings. + * @param res resources used to load string values. */ - public static String getFeatureTitle(Resources res) { return null; } + public static void onInitializeSettingsAdapter(final ArrayList<String> values, + final Resources res) { } } diff --git a/res/values/preferences_defaults.xml b/res/values/preferences_defaults.xml index 342c495e2..63c5e9c19 100644 --- a/res/values/preferences_defaults.xml +++ b/res/values/preferences_defaults.xml @@ -12,5 +12,6 @@ <bool name="preferences_interface_drawer_search_default">true</bool> <bool name="preferences_interface_allow_rotation">false</bool> <bool name="preferences_interface_homescreen_remote_folder_default">false</bool> + <bool name="preferences_interface_drawer_remote_apps_default">false</bool> <integer name="preferences_interface_homescreen_id_default">1</integer> </resources> diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 3b31b3ac5..39a7041e0 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -266,7 +266,6 @@ public class Launcher extends Activity private DynamicGridSizeFragment mDynamicGridSizeFragment; private static RemoteFolderManager sRemoteFolderManager; - private boolean mRemoteDrawerEnabled; private AppWidgetManagerCompat mAppWidgetManager; private LauncherAppWidgetHost mAppWidgetHost; @@ -526,8 +525,6 @@ public class Launcher extends Activity } else { sRemoteFolderManager.onRecreateLauncher(this); } - mRemoteDrawerEnabled = SettingsProvider.getBoolean(this, null, - R.bool.preferences_interface_homescreen_remote_folder_default); // If we are getting an onCreate, we can actually preempt onResume and unset mPaused here, // this also ensures that any synchronous binding below doesn't re-trigger another @@ -3925,6 +3922,9 @@ public class Launcher extends Activity * resumed. */ private void tryAndUpdatePredictedApps() { + boolean mRemoteDrawerEnabled = SettingsProvider.getBoolean(this, + SettingsProvider.SETTINGS_UI_DRAWER_REMOTE_APPS, + R.bool.preferences_interface_drawer_remote_apps_default); if (!mRemoteDrawerEnabled) { if (mLauncherCallbacks != null) { List<ComponentKey> apps = mLauncherCallbacks.getPredictedApps(); diff --git a/src/com/android/launcher3/OverviewSettingsPanel.java b/src/com/android/launcher3/OverviewSettingsPanel.java index 1b75602dc..133dc5190 100644 --- a/src/com/android/launcher3/OverviewSettingsPanel.java +++ b/src/com/android/launcher3/OverviewSettingsPanel.java @@ -84,15 +84,8 @@ public class OverviewSettingsPanel { 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) { - String remoteAppsName = RemoteFolderManager.getFeatureTitle(res); - if (remoteAppsName != null) { - values.add(remoteAppsName); - } - } + // Add additional external settings. + RemoteFolderManager.onInitializeSettingsAdapter(values, res); String[] valuesArr = new String[values.size()]; values.toArray(valuesArr); diff --git a/src/com/android/launcher3/list/SettingsPinnedHeaderAdapter.java b/src/com/android/launcher3/list/SettingsPinnedHeaderAdapter.java index 765243de1..b0c1bd15a 100644 --- a/src/com/android/launcher3/list/SettingsPinnedHeaderAdapter.java +++ b/src/com/android/launcher3/list/SettingsPinnedHeaderAdapter.java @@ -129,6 +129,12 @@ public class SettingsPinnedHeaderAdapter extends PinnedHeaderListAdapter { R.bool.preferences_interface_homescreen_remote_folder_default); setSettingSwitch(stateView, settingSwitch, current); break; + case 5: + current = SettingsProvider.getBoolean(mContext, + SettingsProvider.SETTINGS_UI_DRAWER_REMOTE_APPS, + R.bool.preferences_interface_drawer_remote_apps_default); + setSettingSwitch(stateView, settingSwitch, current); + break; default: hideStates(stateView, settingSwitch); } @@ -277,10 +283,16 @@ public class SettingsPinnedHeaderAdapter extends PinnedHeaderListAdapter { mLauncher.onClickDynamicGridSizeButton(); break; case 4: - boolean newValue = onSettingsBooleanChanged(v, + onSettingsBooleanChanged(v, SettingsProvider.SETTINGS_UI_HOMESCREEN_REMOTE_FOLDER, R.bool.preferences_interface_homescreen_remote_folder_default); - mLauncher.getRemoteFolderManager().onSettingChanged(newValue); + mLauncher.getRemoteFolderManager().onSettingChanged(); + break; + case 5: + onSettingsBooleanChanged(v, + SettingsProvider.SETTINGS_UI_DRAWER_REMOTE_APPS, + R.bool.preferences_interface_drawer_remote_apps_default); + mLauncher.getRemoteFolderManager().onSettingChanged(); break; } break; diff --git a/src/com/android/launcher3/settings/SettingsProvider.java b/src/com/android/launcher3/settings/SettingsProvider.java index c96b8f53a..d9cb59305 100644 --- a/src/com/android/launcher3/settings/SettingsProvider.java +++ b/src/com/android/launcher3/settings/SettingsProvider.java @@ -28,6 +28,7 @@ public final class SettingsProvider { public static final String SETTINGS_UI_HOMESCREEN_HIDE_ICON_LABELS = "ui_homescreen_general_hide_icon_labels"; public static final String SETTINGS_UI_HOMESCREEN_SCROLLING_WALLPAPER_SCROLL = "ui_homescreen_scrolling_wallpaper_scroll"; public static final String SETTINGS_UI_HOMESCREEN_REMOTE_FOLDER = "ui_homescreen_remote_folder"; + public static final String SETTINGS_UI_DRAWER_REMOTE_APPS = "ui_drawer_remote_apps"; public static final String SETTINGS_UI_DYNAMIC_GRID_SIZE = "ui_dynamic_grid_size"; public static final String SETTINGS_UI_HOMESCREEN_ROWS = "ui_homescreen_rows"; public static final String SETTINGS_UI_HOMESCREEN_COLUMNS = "ui_homescreen_columns"; diff --git a/src/com/android/launcher3/stats/internal/model/TrackingEvent.java b/src/com/android/launcher3/stats/internal/model/TrackingEvent.java index a44d3f148..3f148b42e 100644 --- a/src/com/android/launcher3/stats/internal/model/TrackingEvent.java +++ b/src/com/android/launcher3/stats/internal/model/TrackingEvent.java @@ -54,6 +54,7 @@ public class TrackingEvent { // Remote folder specific REMOTE_FOLDER_DISABLED, + REMOTE_DRAWER_DISABLED, REMOTE_FOLDER_OPENED, REMOTE_FOLDER_INFO_OPENED, REMOTE_APP_OPENED, |