summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--RemoteFolder/src/com/android/launcher3/RemoteFolderManager.java13
-rw-r--r--res/values/preferences_defaults.xml1
-rw-r--r--src/com/android/launcher3/Launcher.java6
-rw-r--r--src/com/android/launcher3/OverviewSettingsPanel.java11
-rw-r--r--src/com/android/launcher3/list/SettingsPinnedHeaderAdapter.java16
-rw-r--r--src/com/android/launcher3/settings/SettingsProvider.java1
-rw-r--r--src/com/android/launcher3/stats/internal/model/TrackingEvent.java1
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,