diff options
author | Martin Herndl <martin.herndl@gmail.com> | 2015-12-16 15:37:11 +0100 |
---|---|---|
committer | Tom Powell <zifnab@zifnab06.net> | 2017-03-26 15:52:43 -0700 |
commit | 68313b2f89ac59a9c56858b739f93db2e19cc427 (patch) | |
tree | d3aa6a83a5b742a1d92d5fc84792613db24da53f /src/com | |
parent | c9cbd24d946e2d7a964348e0af7e4012c5aa94b1 (diff) | |
download | android_packages_apps_Trebuchet-68313b2f89ac59a9c56858b739f93db2e19cc427.tar.gz android_packages_apps_Trebuchet-68313b2f89ac59a9c56858b739f93db2e19cc427.tar.bz2 android_packages_apps_Trebuchet-68313b2f89ac59a9c56858b739f93db2e19cc427.zip |
Add app drawer search bar toggle to settings
This adds the possibility to enable or disable the search bar on top
of the app drawer. In the Launcher class it will be created with the
View.GONE visibility to avoid taking up space if disabled. Per
default it behaves like before and is enabled.
PS3: Make sure the hasSearchBar boolean is set.
Change-Id: I48711aea2b15bf535815d0e453ac33079af26eca
Diffstat (limited to 'src/com')
6 files changed, 42 insertions, 15 deletions
diff --git a/src/com/android/launcher3/BaseContainerView.java b/src/com/android/launcher3/BaseContainerView.java index 0f1585a4a..e4ca29c88 100644 --- a/src/com/android/launcher3/BaseContainerView.java +++ b/src/com/android/launcher3/BaseContainerView.java @@ -75,11 +75,11 @@ public abstract class BaseContainerView extends LinearLayout implements Insettab updateBackgroundAndPaddings(); } - protected void setHasSearchBar() { - mHasSearchBar = true; + public void setHasSearchBar(boolean hasSearchBar) { + mHasSearchBar = hasSearchBar; } - protected boolean hasSearchBar() { + public boolean hasSearchBar() { return mHasSearchBar; } diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 228be03b7..f8044aa5b 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -1581,11 +1581,7 @@ public class Launcher extends Activity // Setup Apps and Widgets mAppsView = (AllAppsContainerView) findViewById(R.id.apps_view); mWidgetsView = (WidgetsContainerView) findViewById(R.id.widgets_view); - if (mLauncherCallbacks != null && mLauncherCallbacks.getAllAppsSearchBarController() != null) { - mAppsView.setSearchBarController(mLauncherCallbacks.getAllAppsSearchBarController()); - } else { - mAppsView.setSearchBarController(mAppsView.newDefaultAppSearchController()); - } + setupSearchBar(this); // Setup the drag controller (drop targets have to be added in reverse order in priority) dragController.setDragScoller(mWorkspace); @@ -1863,11 +1859,7 @@ public class Launcher extends Activity .from(this).inflate(R.layout.all_apps, mDragLayer, false); mDragLayer.addView(mAppsView, mDragLayer.getChildCount() - 1); mAppsView.setVisibility(View.INVISIBLE); - if (mLauncherCallbacks != null && mLauncherCallbacks.getAllAppsSearchBarController() != null) { - mAppsView.setSearchBarController(mLauncherCallbacks.getAllAppsSearchBarController()); - } else { - mAppsView.setSearchBarController(mAppsView.newDefaultAppSearchController()); - } + setupSearchBar(this); mAppsView.addApps(addedApps); tryAndUpdatePredictedApps(); mAppsView.reset(); @@ -5144,6 +5136,21 @@ public class Launcher extends Activity } } + private void setupSearchBar(Context context) { + boolean isDrawerSearchBarEnabled = SettingsProvider.getBoolean(context, + SettingsProvider.SETTINGS_UI_DRAWER_SEARCH, + R.bool.preferences_interface_homescreen_search_default); + + if (mLauncherCallbacks != null && mLauncherCallbacks.getAllAppsSearchBarController() != null) { + mAppsView.setSearchBarController(mLauncherCallbacks.getAllAppsSearchBarController()); + } else { + mAppsView.setSearchBarController(mAppsView.newDefaultAppSearchController()); + } + mAppsView.setHasSearchBar(isDrawerSearchBarEnabled); + mAppsView.setSearchBarContainerViewVisibility( + isDrawerSearchBarEnabled ? View.VISIBLE : View.GONE); + } + class SettingsPanelSlideListener extends VerticalSlidingPanel.SimplePanelSlideListener { ImageView mAnimatedArrow; diff --git a/src/com/android/launcher3/OverviewSettingsPanel.java b/src/com/android/launcher3/OverviewSettingsPanel.java index f00b2f95a..3e465d319 100644 --- a/src/com/android/launcher3/OverviewSettingsPanel.java +++ b/src/com/android/launcher3/OverviewSettingsPanel.java @@ -45,7 +45,8 @@ public class OverviewSettingsPanel { res.getString(R.string.icon_labels), res.getString(R.string.app_drawer_style), res.getString(R.string.app_drawer_color), - res.getString(R.string.fast_scroller_type)}; + res.getString(R.string.fast_scroller_type), + res.getString(R.string.home_screen_search_text)}; String[] valuesApp = new String[] { res.getString(R.string.larger_icons_text), diff --git a/src/com/android/launcher3/allapps/AllAppsContainerView.java b/src/com/android/launcher3/allapps/AllAppsContainerView.java index b82cd2d0a..feb96df29 100644 --- a/src/com/android/launcher3/allapps/AllAppsContainerView.java +++ b/src/com/android/launcher3/allapps/AllAppsContainerView.java @@ -300,11 +300,16 @@ public class AllAppsContainerView extends BaseContainerView implements DragSourc mSearchBarContainerView.addView(searchBarView); mSearchBarContainerView.setVisibility(View.VISIBLE); mSearchBarView = searchBarView; - setHasSearchBar(); + setHasSearchBar(true); updateBackgroundAndPaddings(); } + public void setSearchBarContainerViewVisibility(int visibility) { + mSearchBarContainerView.setVisibility(visibility); + updateBackgroundAndPaddings(); + } + /** * Scrolls this list view to the top. */ diff --git a/src/com/android/launcher3/list/SettingsPinnedHeaderAdapter.java b/src/com/android/launcher3/list/SettingsPinnedHeaderAdapter.java index f1c0cd87c..76b880e59 100644 --- a/src/com/android/launcher3/list/SettingsPinnedHeaderAdapter.java +++ b/src/com/android/launcher3/list/SettingsPinnedHeaderAdapter.java @@ -159,6 +159,12 @@ public class SettingsPinnedHeaderAdapter extends PinnedHeaderListAdapter { : res.getString(R.string.fast_scroller_type_vertical); setStateText(stateView, settingSwitch, state); break; + case 4: + current = SettingsProvider.getBoolean(mContext, + SettingsProvider.SETTINGS_UI_DRAWER_SEARCH, + R.bool.preferences_interface_drawer_search_default); + setSettingSwitch(stateView, settingSwitch, current); + break; default: hideStates(stateView, settingSwitch); } @@ -279,6 +285,13 @@ public class SettingsPinnedHeaderAdapter extends PinnedHeaderListAdapter { mLauncher.reloadAppDrawer(); mLauncher.reloadWidgetView(); break; + case 4: + + onSettingsBooleanChanged(v, + SettingsProvider.SETTINGS_UI_DRAWER_SEARCH, + R.bool.preferences_interface_drawer_search_default); + mLauncher.reloadAppDrawer(); + break; } break; case OverviewSettingsPanel.APP_SETTINGS_POSITION: diff --git a/src/com/android/launcher3/settings/SettingsProvider.java b/src/com/android/launcher3/settings/SettingsProvider.java index 76a49d2de..7c3a5e042 100644 --- a/src/com/android/launcher3/settings/SettingsProvider.java +++ b/src/com/android/launcher3/settings/SettingsProvider.java @@ -33,6 +33,7 @@ public final class SettingsProvider { public static final String SETTINGS_UI_DRAWER_HIDE_ICON_LABELS = "ui_drawer_hide_icon_labels"; public static final String SETTINGS_UI_DRAWER_STYLE_USE_COMPACT = "ui_drawer_style_compact"; public static final String SETTINGS_UI_DRAWER_DARK = "ui_drawer_dark"; + public static final String SETTINGS_UI_DRAWER_SEARCH = "ui_drawer_search"; public static final String SETTINGS_UI_USE_HORIZONTAL_SCRUBBER = "ui_horizontal_scrubber"; public static final String SETTINGS_UI_GENERAL_ICONS_LARGE = "ui_general_icons_large"; |