Commit Graph

26 Commits

Author SHA1 Message Date
Jason Monk
15dcebe1e7 Help fallbacks and intent work
- Handle a backup URI, so that if the specified URI is not available,
   another can be used.
 - Add some data to help intents when they are intent URIs
 - Fill in the context with a classname when it isn't present

Bug: 15475009
Change-Id: I7050fa61121901929e650b20bd7a0ae21e8ba207
2015-05-28 09:50:45 -04:00
Jason Monk
47d16e9bf6 Tint dashboard items coming from external tiles
So they can match the Settings theme.

Bug: 20449897
Change-Id: I33ad0d78dad6fbc9dae35552246a559b6508deaf
2015-04-23 12:41:40 -04:00
Jason Monk
23acc2bb8a Allow help to be defined to intent uri
Allow help uris to be either an intent uri or as uri (as they were
before). Also add a default help uri, and specific helps for several
screens.

Bug: 15475009
Change-Id: Iff982892973f01d32ff61ea88d4844e9a7153500
2015-04-14 15:43:20 -04:00
Chris Wren
8a963babe2 log visibility of views
Depends-On: I5b1dccb5d103ece3112acf38889bae16273b092f
Change-Id: I116aed2bb805f723a5bf2ec9eb94257de0b4a7b5
2015-03-27 13:39:07 -04:00
Jason Monk
2ebc8a0169 Allow system apps to add to settings dashboard
Allow system apps to add a tile to the top level of settings that
links to an activity through adding a filter for a specific action.
Determine the info for the tile based off manifest info for the
activity. Also allow the same for managed profiles, but show a dialog
in between to select which profile.

The category in which the item is to be placed must be in meta-data.
The icon and title can be specified through meta-data as well or
if unspecified the activity's label and icon will be used.

Also added an optional <external-tiles> tag to the dashboard
category xml, this allows Settings to put external tiles
in the middle of some categories (Personal does this).

Bug: 19443117
Change-Id: Idc9938d1549d181103a3030a8784b527215a8399
2015-03-25 11:11:36 -04:00
Fabrice Di Meglio
c9ad22c38b More code cleaning for the Home intent filters
- remove the Intent.CATEGORY_HOME as it is not useful and
cannot be used into an Intent filter

Change-Id: I516188ea1c662c3277c64194c229a2e1c03a4e6a
2014-07-23 19:32:57 -07:00
Fabrice Di Meglio
7f5c5e8bb8 Code cleaning
- remove those non usefull Intent.CATEGORY_LAUNCHER

Change-Id: Ib6e5f4a5265633da85423307fac26a104814f05f
2014-07-23 19:03:33 -07:00
Fabrice Di Meglio
b0a464fd2c Fix how Home Activities are refreshed
- 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
2014-07-23 18:20:53 -07:00
Alexandra Gherghina
cfc7f9d960 Remove old accounts tile, replaced by a separate screen
Bug: 15815948
Bug: 15819268
Change-Id: I3b6978cff346c73cca1d6a2c209ffe4c71808244
2014-07-14 10:02:14 +01:00
Fabrice Di Meglio
47a25e7640 Update Dashboard layout again
- 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
2014-06-23 13:23:47 -07:00
Fabrice Di Meglio
53d76860a5 Fix bug #15161058 Stability: ISE in Settings:Fragment DashboardSummary{588de71} not attached to Activity
- prevent rebuilding the UI until the fragment got attached

Change-Id: I6d5fcbce2581f3fc9900f1ca4fc8178ee959061e
2014-05-22 11:27:43 -07:00
Fabrice Di Meglio
b644f29313 Optimize Dashboard loading
- prevent loading categories twice
- add some logging to see the time taken for building the Dashboard titles

Change-Id: I31724c0e66fe3b453a87f12476f58db84c73423f
2014-05-22 10:30:03 -07:00
Fabrice Di Meglio
5f995727cc Fix bug #15080198 Enabling developer options requires restart of settings to enter
- fix Dashboard categories refresh issue

Change-Id: I5bb7fc4a1410df8f5c2d2d13f7625a1ccc8893c3
2014-05-19 19:51:31 -07:00
Fabrice Di Meglio
a8072fa6e0 Fix bug 14990524 Add account does not refresh the list of accounts in the Dashboard
- unregister the OnAccountsUpdateListener in Fragment.onDestroy() instead of
in Fragment.onStop()

Change-Id: I07c92f85bb6efb34771d93158f00b60d93f4c90b
2014-05-15 19:32:39 -07:00
Fabrice Di Meglio
f40852046b First batch of new Quantum Theme assets
- needed for Quantum Theme support

Change-Id: I90e8fdbb86a3cc5d5c209d4d345f6d423b2a1d5d
2014-05-14 18:04:53 -07:00
Fabrice Di Meglio
075a2963e8 Fix bug #14399525 settings crash on opening login error notification
- check if the account istener has been previously added or not

Change-Id: Icfd111a406507ac520a396e44710a9d882f2ae4d
2014-05-09 18:36:34 -07:00
Amith Yamasani
f5b3f3b445 Fix crash when adding account
Remove the listener in onStop(), to be symmetrical with onStart().

Bug: 14393261
Change-Id: I5d4f0ca38d5ef52b97715b8f3791ff2a400c68e2
2014-04-30 10:38:56 -07:00
Fabrice Di Meglio
769630c895 Settings new dashboard - part 2
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
2014-04-25 17:24:18 -07:00
Fabrice Di Meglio
d25314d330 Settings - update for new UI (no more Drawer)
- 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
2014-03-28 15:51:29 -07:00
Fabrice Di Meglio
fa7dc240e9 Add external Preferences indexing
- 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
2014-03-19 14:56:09 -07:00
Fabrice Di Meglio
0b63458c0b Improve query filtering for Search
- 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
2014-03-06 16:31:12 -08:00
Fabrice Di Meglio
835c5e4ef9 Merge "Fix bug #13322036 stability-sys: Java crash in com.android.settings: android.database.sqlite.SQLiteException: malformed MATCH expression: [ avs- /y@ggmd"*] (code 1)" 2014-03-06 00:27:40 +00:00
Fabrice Di Meglio
3ec129b1b5 Fix bug #13322036 stability-sys: Java crash in com.android.settings:
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
2014-03-05 16:24:35 -08:00
Fabrice Di Meglio
4931d7cc16 Fix bug #13300024 Settings app crashes on changing device orientation
- remove crashing code. Basically let the Framework do its work.
No need to save the state of the EditText by ourselves.

Change-Id: I49e98a852f4fcda61eabaa2967d027942905ec27
2014-03-04 12:57:11 -08:00
Fabrice Di Meglio
6f0739a3d9 Add Search to the Settings App (initial release)
- 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
2014-03-03 14:46:17 -08:00
Fabrice Di Meglio
263bcc8b73 Use Drawer in Settings app
- 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
2014-02-03 16:36:46 -08:00