Commit Graph

107 Commits

Author SHA1 Message Date
Satish Sampath
f9acde2748 Include web search providers in Searchables.
- Along with ACTION_SEARCH we now enumate ACTION_WEB_SEARCH as well so web search providers are covered in the searchables list. This fixes a broken unit test.
- Moved get/setPreferredWebSearchActivity and get-all-web-search-providers implementation to this module when the searchables list gets updated, so that it happens on boot and on package add/remove events and remains up to date. The duplicate code in WebSearchProvider will be removed in a separate change.
- Also made Searchables broadcast an intent when the searchables list got rebuilt, so components such as GlobalSearch/SuggestionSources no longer need to do this on their own.
2009-06-05 10:34:53 +01:00
Christopher Tate
1885b37913 Fix backup agent unbind
The handwritten binder transaction passing wasn't propagating the agent-destroy
transaction to the client side.  Oops.

Also, remove obsolete run-one-agent code from the backup manager service.
2009-06-04 15:02:37 -07:00
Karl Rosaen
320b2eeeea SearchDialog should only do DialogCursorProtocol stuff when in global search mode. 2009-06-04 17:59:44 +01:00
Karl Rosaen
1c54cf0903 Detect impressions, and cleanup the SearchDialog / SuggestionCursor communication.
(framework portion)

There are now 4 times the search dialog will check with the cursor:
- after data set changed
- when an item is clicked
- when the cursor is about to be closed
- when an item at a particular position is detected as showing

these are now the points where we can add data in either direction, which we use to accomplish:
- finding out whether there are any pending results
- find out if there is a position at which to notify when it is displayed (the "more results" triggering)
- toggling the "more results" button
- sending the max position that was displayed when the cursor is done

the new behavior (in addition to the refactoring) is improved detection of "more results" to trigger the additional sources
(it is now precise), and detection of which items were displayed to the user.
2009-06-04 16:11:47 +01:00
Bjorn Bringert
3250fa7371 Remove support for bitmap icons in search suggestions.
This is no longer needed, since content providers can now return
AssetFileDescriptors for in-memory data.
Bitmaps in the suggestion cursor was resopnsible for lots of
unnecessary copying, since all rows are copied out of the database
regardless of how many are displayed in the UI.
2009-06-04 15:04:38 +01:00
Android (Google) Code Review
f762589d1f Merge change 3145 into donut
* changes:
  Add INTENT_ACTION_WEB_SEARCH_SETTINGS (thereby fixing the build too :)).
2009-06-04 06:10:37 -07:00
Mike LeBeau
3a27803b29 Add INTENT_ACTION_WEB_SEARCH_SETTINGS (thereby fixing the build too :)). 2009-06-04 14:09:42 +01:00
Mitsuru Oshima
9189cabb0b * Moved supports-density tag under manifest
* Refactored Compatibility code
  * Added CompatibilityInfo class
  * Removed getApplicationScale from Context
  * Added Resources#getCompatibilityInfo so that RootView can get the compatibility info w/o going through Context
* Expandable support
  * Added expandable tag under manifest
  * Old application w/o expandable is given the default screen size  ([320, 480] x density).
  * The non-expandable window is centered.
2009-06-03 16:28:10 -07:00
Bjorn Bringert
33a22dc9c8 Close icon input stream in SuggestionsAdapter.
Before, SuggestionsAdapter would not close input streams after
reading icons from them. This leaks file descriptors and,
in the case of MemoryFiles, virtual address space.
2009-06-03 13:01:24 +01:00
Satish Sampath
8dbe612dc6 Adding internal method replacePreferredActivity.
This was required because we need a way to set the preferred activity for a
particular intent filter based on user selection (in our case the
ACTION_WEB_SEARCH intent filter for selecting the preferred search engine from
the list of available search engines providers). The current
addPreferredActivity call was not sufficient since it leaves the existing
preferred activities in the list and does not remove them, which this call
does.
2009-06-03 07:54:42 +01:00
Karl Rosaen
a058f02b59 progress towards impression and click stats on all sources, plus some internal cleanup
(framework portion)

suggestionCursor has new callbacks for impressions and clicks
- impressions now used to trigger "more" UI, cleanup apis around that

search dialog reports which position was clicked on via cursor#respond
- can now detect when sources under "more results" are clicked
- also used to simplify existing stuff:
  - can detect when "more results" entry is clicked and toggle base on that (no longer need INTENT_ACTION_CURSOR_RESPOND one off)
  - use response from click reporting to instruct which position should be selected
2009-06-02 15:00:37 +01:00
Bjorn Bringert
b791f34474 Added some icon debug logging to SuggestionsAdapter.
Good for checking that lazy contact photos works.
2009-06-02 09:29:34 +01:00
Android (Google) Code Review
f5df83035a Merge change 2879 into donut
* changes:
  Add backup side of new FullBackupAgent class
2009-06-01 19:30:54 -07:00
Christopher Tate
93e7e22ec9 Add backup side of new FullBackupAgent class
This class backs up an app's entire data directory tree.  Intended for use
by the backup-through-adb full mirroring facility, etc.  @hide because
it's not really something end apps will need to use.
2009-06-01 16:49:50 -07:00
Android (Google) Code Review
c17f16e33a Merge change 2851 into donut
* changes:
  Change comment for SUGGEST_COLUMN_INTENT_EXTRA_DATA to clarify that this column is for use by global search only.
2009-06-01 14:50:26 -07:00
Mike LeBeau
21fd5f144a Change comment for SUGGEST_COLUMN_INTENT_EXTRA_DATA to clarify that
this column is for use by global search only.
2009-06-01 22:30:56 +01:00
Android (Google) Code Review
b249890bc6 Merge change 2835 into donut
* changes:
  Add framework support for scrolling to the "More results..." list item when it is clicked.
2009-06-01 14:21:54 -07:00
Mike LeBeau
ae9760b62c Add framework support for scrolling to the "More results..." list item
when it is clicked.
2009-06-01 21:53:09 +01:00
Christopher Tate
181fafaf48 Retool the backup process to use a new 'BackupAgent' class
Backups will be handled by launching the application in a special
mode under which no activities or services will be started, only
the BackupAgent subclass named in the app's android:backupAgent
manifest property.  This takes the place of the BackupService class
used earlier during development.

In the cases of *full* backup or restore, an application that does
not supply its own BackupAgent will be launched in a restricted
manner; in particular, it will be using the default Application
class rather than any manifest-declared one.  This ensures that the
app is not running any code that may try to manipulate its data
while the backup system reads/writes its data set.
2009-05-31 13:10:03 -07:00
Android (Google) Code Review
f0e7e4a946 Merge change 2520 into donut
* changes:
  Cause the icon drawables to animate automatically by calling setVisible false and then true on the drawables. For an AnimationDrawable, this will trigger the desired behavior of 'automatically' starting the animation, which should have been working to begin with according to the intended design of AnimationDrawable (see http://b/1878430 for my description of my correspondence with Romain). For Donut we'll just do this to work around it, but for a later release we need to decide a better story.
2009-05-27 09:13:15 -07:00
Jacek Surazski
fd0bdcc344 This function should be public 2009-05-27 14:45:48 +02:00
Android (Google) Code Review
298784cd8a Merge change 2420 into donut
* changes:
  This just makes it easier to derive from ApplicationErrorReport.
2009-05-27 02:17:21 -07:00
Mike LeBeau
91bc6f2c57 Cause the icon drawables to animate automatically by calling setVisible
false and then true on the drawables. For an AnimationDrawable, this will
trigger the desired behavior of 'automatically' starting the animation,
which should have been working to begin with according to the intended
design of AnimationDrawable (see http://b/1878430 for my description of
my correspondence with Romain). For Donut we'll just do this to work
around it, but for a later release we need to decide a better story.
2009-05-26 22:48:56 -07:00
Dianne Hackborn
06de2ea752 Activity Manager changes the scheduling group of processes.
The algorithm for this is currently very simple: all persistent processes are
always in the normal scheduling group, all other processes are normal if their
oom_adj is as good or better than VISIBLE, otherwise they are in the background
group.

Note that this currently results in a fair number of log messages about not
being able to change the group, since the system process does not have
permission to do so.  Once a kernel fix is in, these will go away and the code
will start working.
2009-05-26 18:50:46 -07:00
Jacek Surazski
28b0e5d06a This just makes it easier to derive from ApplicationErrorReport. 2009-05-25 18:04:24 +02:00
Mike LeBeau
a97f4a1174 Remove dimmed background (and accompanying animation) for global
search, since we should never really see that background anyway,
and I suspect the animation is using a significant amount of CPU.
2009-05-23 01:19:36 -05:00
Mike LeBeau
1c69075151 Trigger the LocationManager whenever the SearchDialog is shown
(and stop when the SearchDialog is stopped). This way we get a
network-based location quickly so that by the time any location-
based suggestion provider wants to do suggestions, it's likely
to have a good fresh location.
2009-05-20 20:20:26 -07:00
Mike LeBeau
1480eb27f5 Add support to SuggestionsAdapter to query the 'working' status
of its underlying cursor and update a spinner in the search dialog
accordingly.
2009-05-20 17:22:13 -07:00
Jacek Surazski
f5b9c72022 ActivityManagerService sends bug reports on crashes and ANRs
If an installerPackageName was specified when the app was installed,
looks for a receiver of ACTION_APP_ERROR in that package. If found,
this is the bug report receiver and the crash/ANR dialog will get a
"Report" button. If pressed, a bug report will be delivered.
2009-05-20 10:52:04 +02:00
Dianne Hackborn
95fc68f24a Fix issue where apps could prevent the user from going home.
Now we have a 5-second time after home is pressed, during which
only the home app (and the status bar) can switch to another app.
After that time, any start activity requests that occurred will
be executed, to allow things like alarms to be displayed.  Also
if during that time the user launches another app, the pending
starts will be executed without resuming their activities and
the one they started placed at the top and executed.
2009-05-19 18:46:53 -07:00
Eric Fischer
5bd644caf7 Start using CLDR for some date-and-time strings and formats.
Use java.text.DateFormat where possible, since that is already using
the CLDR data for the things it supports.  Remove an unused date format
object from DatePickerDialog.

Add a new method for getting the standalone month names from applications,
although @hidden for now because it is an API change.

Pass the standalone month names down to native code in Time so that
tztime's strftime() can use them.

And then the bulk of the change: replace all the names for the months
and the days of the week, and AM and PM, and yesterday, today, and tomorrow,
with strings from CLDR.  And replace several of the date format strings
with ones derived from CLDR, but reformatted to use strftime() style
instead of SimpleDateFormat style.

All these resource changes go into new donottranslate-cldr.xml files
and are removed from strings.xml so that they aren't part of the
normal translation process and the translators don't have to bother
with them (and risk messing them up).
2009-05-15 10:15:50 -07:00
Mihai Preda
eae850cefe Allow intent resolution to be constrained by package name. 2009-05-15 12:32:07 +02:00
svetoslavganov
75986cf9bc Accessibility feature - framework changes (replacing 698, 699, 700, 701 and merging with the latest Donut) 2009-05-14 23:47:05 -07:00
Marco Nelissen
1746d6fefc Fix a bug that findbugs found 2009-05-14 13:31:26 -07:00
Android (Google) Code Review
6063a9c9ee Merge change 1491 into donut
* changes:
  Make pressing the search button within an app that does not support search bring up global search. This still respects the case where an app has chosen to disable search entirely by overriding onSearchRequested() to return false.
2009-05-13 14:26:45 -07:00
Mike LeBeau
a59d7b0f2f Make pressing the search button within an app that does not support
search bring up global search. This still respects the case where an
app has chosen to disable search entirely by overriding
onSearchRequested() to return false.

I do not believe any changes to the SearchManager documentation
(http://developer.android.com/reference/android/app/SearchManager.html#HowSearchIsInvoked)
are necessary, because this documentation already indicates that
pressing the search button within an app that does nothing special with
regard to search can bring up global search.
2009-05-12 15:30:37 -07:00
Jacek Surazski
c64322c352 PackageManager keeps track of who installed what.
Stores the package name of the installer app in packages.xml
2009-05-12 23:16:20 +02:00
Mitsuru Oshima
a1565b9340 removing log message checked in by acccident. 2009-05-12 00:19:40 -07:00
Mitsuru Oshima
58feea74b4 * update all metrics data when updating density.
* Keyboard should use DisplayMetrics from Resource rather than getting it from WindowManager as
  the display metrics can differ under compatibility mode.
2009-05-11 15:58:32 -07:00
Mike LeBeau
b059d90691 Make in-app search have a different background resource which looks
like a slide-out drawer, to provide app context and because it is not
full-screen.

Also fix a problem where bringing up global search sometimes still did
not size the dropdown correctly, because the keyboard was not yet showing.
2009-05-08 18:38:45 -07:00
Android (Google) Code Review
ed3b804f2c Merge change 1276 into donut
* changes:
  Define mime type for shortcut validation path.
2009-05-08 14:55:39 -07:00
Karl Rosaen
b619c9198e Define mime type for shortcut validation path. 2009-05-08 14:54:08 -07:00
Mike LeBeau
98acd54fa6 Make the search dialog's autocomplete dropdown behave correctly
with respect to the soft keyboard. getMaxAvailableHeight in
PopupWindow relies on View's getWindowVisibleDisplayFrame, which
always takes into account the IME, whereas in this case, because
we want the window to extend down to the bottom of the display
when it is being interacted with by the user, I added a new
boolean option 'ignoreBottomDecorations' to getMaxAvailableHeight.
If true, the method returns the height which will extend the
PopupWindow down to the bottom of the screen, rather than just
down to the IME.

Then in AutoCompleteTextView, I set this to true when the
dropDownAlwaysVisible attribute is true and the PopupWindow's
input method mode is INPUT_METHOD_NOT_NEEDED (which happens when
the list is dragged or otherwise interacted with).

Then, because the dropdown height is only calculated when we call
showDropDown(), I had to replace a couple calls to mPopup.update().

There are still a few remaining bugs here I'm tracking Still to do:
  * Fix a strange re-placement of the window which happens
    intermittently.
  * Strange behavior when using the directional pad.
  * In a few cases, the list does not correctly size itself to the IME.
    This seems to be because the available height is calculated before
    the IME is yet on screen, and thus is calculated as the entire screen.
2009-05-08 14:42:54 -07:00
Dianne Hackborn
55280a9188 Improve shutdown process to send broadcast for applications.
This introduces a new class in the base platform for performing a clean
shutdown (which was copied from the classes in the policies).  It
includes new features to send a shutdown broadcast for applications
to do cleanup, and ot have the activity manager pause the current
activity before proceeding with the shutdown.  These facilities are
also use to write at the most recent stat files for sync, battery
and user activity.
2009-05-08 12:59:21 -07:00
Karl Rosaen
b2a5011578 Define the URI path, columns and constants for shortcut validation. 2009-05-07 18:37:11 -07:00
Mitsuru Oshima
2e3d3b9ce7 * update density correctly when the configuration is changed.
* Turns private sLcdDensity to public DEVICE_DENSITY to use it in ActivityThread
2009-05-06 16:42:11 -07:00
Bjorn Bringert
a92041306e Refactor SearchableInfo.
- Removes the mSearchable field which was only
  for communication between the constructor and
  getActivityMetaData().
- Removes the badge and query rewriting fields,
  since their values can be efficiently computed
  on the fly.
- Makes all the other public fields private and adds getters
  for them.
- Makes all fields final, except mActionKeys.
- Removes the DBG_INHIBIT_SUGGESTIONS_CONSTANT.
  I don't see why we would every want that, and it
  complicated making the fields final.
- Makes all fields in ActionKeyInfo final.
- Makes all fields in ActionKeyInfo private and adds getters.
- Removes the use of ActioKeyInfo.mKeyCode for failure
  signalling. Uses IllegalArgumentException instead.
- Replaces the ad hoc linked list for looking up
  action keys by a HashMap. This is needed to
  make the fields in ActionkeyInfo final, and also avoids O(N)
  lookup in the (unlikely) case that an activity
  has lots of action keys.
- Don't throw exceptions when reading searchable
  meta-data, since that could crash SearchManagerService.
- Adds debug logging.
2009-05-06 13:54:42 +01:00
Mike LeBeau
b3aab69581 Allow access to global search by pressing the hard search button again
within in-app search. If within in-app search and toggled out to global
search, pressing the hard search button will take the user *back* into
in-app search too.
2009-04-30 09:45:53 -07:00
Android (Google) Code Review
efae672d73 Merge change 725 into donut
* changes:
  Add 'includeInGlobalSearch' attribute to searchable meta-data.
2009-04-29 13:03:47 -07:00
Bjorn Bringert
c1f4096064 Remove menu from SearchDialog.
Before, pressing MENU with the SearchDialog open would show
a menu item that launched the search settings activity. Now that
the search settings are accessible from the Settings app, this is
no longer needed.

Fixes http://b/issue?id=1819469 and http://b/issue?id=1817823
2009-04-29 20:49:56 +01:00