- dismiss keyboard when the query is submitted by returning the correct value to
onQueryTextSubmit()
Change-Id: I3da0606ea7c5e65c860784a867a54ad30589b3a7
- remove that HomePackageReceiver from the AndroidManifest
that could force Settings to run
- use a HomePackageReceiver into HomeSettings and DashboardSummary
- fix also the BatteryInfoReceiver for refreshing the Dashboard
Change-Id: Id3891529fc176e7e4c450f2ce723f8ac2af66c58
- fix overdraw use as less backgrounds as possible
- make it look like the Dashboard with padding left and right
See bug: #15384992 Setting Dashboard - padding updates
Change-Id: I30ff33e51bc3c73e888d45f0ce6e16784eb6721c
- ahhhh Monkeys, do not allow to have position < 0
Similar fix than the one done for:
mSuggestionsListView.setOnItemClickListener(...) in I3a8ded4c1471a1589134826539c9db1b551f49dd
Change-Id: I6ef266852e2c2ab5d0d0f6b4faf358b22d12bf6b
- follow UX spec
- update also the Search Panels (suggestions / results) to
follow the same specs
See bug: #15384992 Setting Dashboard - padding updates
Change-Id: I3d27a3b3d9779644f8ea123990a0c7bed8d4ba74
- do not allow to have position < 0
A use case was generated by the Monkeys where they were capable to click on the Header.
Change-Id: I3a8ded4c1471a1589134826539c9db1b551f49dd
- add the capability to scroll recents and results with their
header (old request from UX)
See bug: #12910134 Implement Search into the Settings App
Change-Id: If3c4a23b928b189803f2ef8e13a61746c2790b4b
- as the summary was sometimes showing "Unknown" or even not the
real Preference value (we dont have right now the capability to
know the current value of a Preference), so it is better to be
safe than sorry.
Change-Id: I009c31fc41ad35a630f4b34aa0ef998932f65263
- make the summary view as GONE when its text is empty
See bug: #12910134 Implement Search into the Settings App
Change-Id: Iafd680706b937137eaa30692e1c57a77cb5d7fc8
- prevent rebuilding the UI until the fragment got attached
Change-Id: I6d5fcbce2581f3fc9900f1ca4fc8178ee959061e
(cherry picked from commit 53d76860a5)
- prevent loading categories twice
- add some logging to see the time taken for building the Dashboard titles
Change-Id: I31724c0e66fe3b453a87f12476f58db84c73423f
(cherry picked from commit b644f29313)
- per UX request
- Search recents show now by defaults with the recent searches
when the SearchView is empty
- when we press on a Serach recent, we are showing the Search results
and the recents are disappearing
- when keying text in the SearchView, we hide the recents and start
showing the results
- we still save the Search query when hitting on a result
Change-Id: I6c2be21660a30f6973dea27d4852b2068a05963d
... after changing orientation
- set the SearchView for the SearchResultsFragment when the SearchView is
instantiated in the onCreateOptionsMenu(Menu)
- take care of the correct showing of the Recent Searched (suggestions)
Change-Id: Idfa17436d4a2436e0947ce1e1692355def3821a3
Introduce the new Dashboard (a grid like presentation of
Settings top categories) per UX specification.
- the Dashboard is composed of "categories" and in each of them
you have "tiles"
- implement a new layout for showing top categories
(DashboardContainerView). This layout basically acts like a
grid
- depending on the device configuration make the grid with 1
column in portrait / 2 colums in landscape (phones) OR 2 columns
in portrait and 3 in landscape (tablets)
- take care of Accounts adding and removing (as it changes the
number of tiles to show)
Also remove all the old code related to Headers
Change-Id: Ie29944132c1b4c3f7b073d5a7d4453b8f5ec19a7
- make the Settings dashboard definition be hierarchical (non flat) and use
categories and tiles
- code cleaning: remove mHeaderIndexMap
Change-Id: I16581a736ac5c8388a182d83159161fe3bb04f4b
- update SearchResultsSummary fragment to have two lists:
one for Search suggestions (saved queries) and one for
Search results
- a tap on a saved query will launch that Search query
- show the list of saved queries when tapping on the SearchView
- do some fancy hidding / unhidding of the saved queries list
and results list
Change-Id: If15055ab78b0ec5eef4e543173dc7b866bd08e27
- update database model for adding a table for saving a query
and its timestamp
- update database version
- save the query when the User tap on a Search result
- remove old queries (no more than 5 are saved)
Change-Id: I4ddff0ad660944c7fd53be64ac95397850dc60d0
- before, we were showing a Swich for WiFi and Bluetooth entries
in the Headers. As this is no more the case, remove the code
that is no more usefull.
- as a side effect, we are also removing the call to update the
Search Index that was running when the Settings app was resuming
or pausing.
Change-Id: I26b40df5c7a664d196a249840638d89909b6bc24
- now it is possible to have Search results directly when
you are typing (and not only when you press on the Search button
in the IME)
- implement onQueryTextChange(...)
- take care about re-runnin the saved query when the app is resumed
Change-Id: I021c8a9a95b50dce69ab6dace81eecb2fb188f18
- need to increment the database model version to force re-indexing
- change entries separator from SPACE to PIPE
- just show the first entries value in the Search results
Change-Id: I747218ff3528c3231c0209f8870c12f65e036070
- modify the SQlite data model
- update Index code for managing the key value
- pass the key when launching a Fragment or and Activity
- implement a small animation for highlighting the Preference
from a Search result
Change-Id: I617643a4e5e3b752ece8f45ce7d5429037e479da
- now support ListPreferences and save the "entries" attribute
- update Index database schema (and increment its version)
- do some clever stuff when showing Search results: if there is
a "$s" or "%s" in the summary (replacement strings), just use
the entries instead
Change-Id: If36595c3816706b6349faff7d3c2e725d3ea33f4
- follow the UX spec by no more using a Drawer
- the Dashboard is now a Fragment that contains the list of Headers
- the search results are also put into a Fragment that is replacing
the initial one (Dashboard or other) when expanding the SearchView
- use a SearchView for query input
- when tapping on a Header or a Search Result, re-launch Settings as
an Activity so that we are benefiting from the Activity stack for
UP affordance and BACK button
- manage UP affordance to show it only when needed
- move some Actions to the Menu in the ActionBar for allowing space
to the Search action and removing some clutter
- fix an issue with the Index and WiFiEnabler and their cached Context
that was not updated when there was a Configuration change
- simplify the SettingsActivity code by extracting some inner classes
Change-Id: I50b5f77bb44a7fade1886114dbbc820609a5e63d
- define SettingsSearchIndexablesProvider as an internal
SearchIndexablesProvider
- protect access thru using android.permission.READ_SEARCH_INDEXABLES
- update WallpaperTypeSettings and WifiSettings for taking care of
the new model
- update the Dashboard for taking care about external Icons for the
search result
- update sqlite model/version for taking care about Intents
(enable launching external applications for showing the settings)
Change-Id: I2e38599327e6480f1754f52666becce0884cee9d
- there was a crash when inputing "w" then "-" then "-". This
crash was due to the InputFilter which got some strange indices
from the BaseInputConnection.
- so now we are doing our own filtering before sending the query
to Sqlite. We only keep Letters / Digits / Spaces.
Change-Id: I66dcbebeec9217cf8fd65a16b10fe2304d98cf58
android.database.sqlite.SQLiteException: malformed MATCH expression: [ avs- /y@ggmd"*] (code 1)
- the real issue was linked to the double quote
- add an InputFilter to the query EditText so that we allow only
Letters / Digits / Spaces (and this should works for all Locales)
Change-Id: I6016cc25d154b386870379dfa4c79a40c5505530
- remove crashing code. Basically let the Framework do its work.
No need to save the state of the EditText by ourselves.
Change-Id: I49e98a852f4fcda61eabaa2967d027942905ec27
- add basic UI for search
- build the search Index thru sqlite FTS4 (faster than FTS3)
- create the search Index on the fly depending on the locale
- re-index if there is a configuration change
- re-index too if the Android build version has changed (usefull
for an Android OTA or when a new Android version is pushed as
we need to recompute the Index)
- search thru "title" and "summary" Preference's data
- group results in the same order of the Settings categories
into the Drawer
- rewrite "title" and/or "summary" if they are containing
an hyphen "\u2011"
- add Preference Keywords (only for the Settings App) in the
Index and allow search on them (Wi-Fi network preference is
used as an example)
Known restrictions:
- we cannot yet search for "dynamic settings"
- ... nor we cannot search for settings coming from an external App
(like the Phone App and its related settings that are surfacing
into the Settings App).
- will need a few other CLs to add more keywords (and have them translated)
Change-Id: I017a4d6c433f28c257c08cacc1bed98c4c517039
- get rid of PreferenceActivity as much as we can and use fragments instead
- add Drawer widget
- add Dashboard high level entry into the Drawer (but this is work in progress and would be done in another CL)
- add bypass of fragment's Header validation when launched from the Drawer but *force* validation if external
call thru an Intent
Be aware that WifiPickerActivity should remain for now a PreferenceActivity. It is used by SetupWizard and should
not trigger running the SettingsActivity's header building code. SetupWizard is a Home during the provisionnig process
and then deactivate itself as a Home but would make the Home header to appear in the Drawer (because momentarily we
would have two Home).
Also, verified that:
- the WiFi settings still work when called from SetupWizard
- when you have multiple Launchers, the Home header will appear in the list of Headers in the Drawer
Change-Id: I407a5e0fdd843ad7615d3d511c416a44e3d97c90