Commit Graph

459 Commits

Author SHA1 Message Date
Dianne Hackborn
8d37426c75 Various fixed for back key handling.
My last change was far from perfect.  Hopefully this gets us
a little closer.

Change-Id: I413e55b6af42400b565de3040859d25d668bc9d2
2009-09-14 21:21:52 -07:00
Dianne Hackborn
83fe3f5592 Last big work on #1991910: Make swipes work with capacitive keys
This takes care of allowing us to cancel the back button.  The
back button is a bear because it is strewn all over the place --
everywhere you can close something, there is some code looking
for the back button that now needs to deal with being canceled.

The main things changed are activity (of course), dialog,
input method, search dialog.  There are some other misc places
in the framework (and some I missed here that I will get in a
second pass).

To facility all of this, the key dispatching APIs now provide
a lot more support for dealing with looking for cancelled keys,
and incidentally also provide an actual API for catching long
key presses.  This also helped clean up the code in PhoneWindow
where it deals with all of the combinations of key pressed and
releases.  (And also allows people to override
Activity.onKeyLongPress() to provide a different long press
action for a standard key like search.)

And while I was doing this, I reworked how we detect long
presses by having this be part of the key event delivered by
the window manager.  This should greatly reduce (hopefully
outright eliminate) the problems with long presses being
mis-detected when an application is being slow.

Change-Id: Ia19066b8d588d573df3eee6d96e1c90fdc19f57d
2009-09-14 17:53:52 -07:00
Dianne Hackborn
c297480937 Fix issue #2116977: buttons are huge and bent
Now that we are using preloaded drawables in compatibilty mode, when
constructing them from their constant state we need to set the new
drawable's target density appropriately.

Change-Id: I3665cbea09d38b9ac5f45f8c380dc8641f86b266
2009-09-14 16:32:56 -07:00
Dianne Hackborn
19382ac1a4 Some optizations to wallpaper drawing/scrolling.
First, fix some issues with the final wallpaper bitmap
we use: ensure it is always 16bpp, and make sure dithering
of its bitmap is turned off.   We take of dithering
when loading, to make sure we don't use it when drawing.

Also add new APIs to return the wallpaper with the equivalent
of Launcher's old FastBitmapDrawable.  As doing this, also load
the default wallpaper the same way as custom ones, taking care to
resize it as needed at load time.

Finally implement a mechanism for the window manager to wait
for the wallpaper to redraw at its new position before returning
from the application's call to change the offset.  This ensures
that the wallpaper better tracks the application.  Note that there
is a timeout in this wait that is relatively short, and if it
expires we will run for a while without waiting.

Change-Id: Ife449437746da85958bd447e0a6cf3d2223b398c
2009-09-14 15:29:44 -07:00
Android (Google) Code Review
6cb1330d26 Merge change 24683 into eclair
* changes:
  Tell GlobalSearch about searches without a suggestion
2009-09-14 11:30:43 -04:00
Android (Google) Code Review
93f00def4b Merge change 24509 into eclair
* changes:
  Addressed reviewer comments.
2009-09-13 18:43:38 -04:00
Jack Wang
ff1df69dd4 Performance measurement framework:
+ For bug 1810508
  - Added PerformanceCollector class to collect runtime and memory usage data
    * Moved performance snapshotting from Intrumentation to PerformanceCollector
  - Added PerformanceResultsWriter interface which defines functions for
    reporting performance data

+ Framework integration
  - Added TimedTest annotation to automatically time tests and write results
    to instrumentation output
  - Modified PerformanceTestBase to add collection hooks and wrapper methods
  - Modified WatcherResultPrinter in InstrumentationTestRunner to implement
    PerformanceResultsWriter for instrumentation output of performance data
  - Modified InstrumentationTestRunner and AndroidTestRunner to pass writer
    instance to test
2009-09-11 17:15:15 -07:00
Bjorn Bringert
2fcaf79a18 Tell GlobalSearch about searches without a suggestion
This is the framework part of http://b/issue?id=2099399
"executing a search in QSB should create a shortcut (like
when you click on a search suggestion)"

Change-Id: I2d07d9bfc808112948629ca16b24bc870fbd5fa6
2009-09-11 15:23:37 +01:00
Scott Main
f65bc1823a am d27b1083: docs only. add Searchable resource information to the Available Resources doc and update some some of the attribute documentation to indicate that the icon label is not recommended. and fixing merge issue...
Merge commit 'd27b10837525f341eee7d46013e2177b0bad3c60' into eclair

* commit 'd27b10837525f341eee7d46013e2177b0bad3c60':
  docs only.
2009-09-10 19:33:56 -07:00
Scott Main
d27b108375 docs only.
add Searchable resource information to the Available Resources doc
and update some some of the attribute documentation to indicate
that the icon label is not recommended.
and fixing merge issue...

Change-Id: I1b1a62aa9804f4a0bf2f93328dde90b9f7aec50a
2009-09-10 19:22:48 -07:00
Dianne Hackborn
bcbcaa7edd Wallpapers, animations, pending intent.
Some more tweaks and fixes to wallpapers.  Make sure wallpapers are
told they are not visible when the screen is off.  Add some new animations
for transitions across tasks, and fiddle with many of the existing
animations.  Clean up the relationship between translucent activities
and animations.  Add new API to start a PendingIntent from an
activity.

Change-Id: Ie0bf45fe44081bb6982c75361257a55d9cd9d863
2009-09-10 12:08:50 -07:00
Bob Lee
eec2f41d60 Addressed reviewer comments. 2009-09-10 11:01:24 +02:00
Dianne Hackborn
eb034652c2 Implement all of the infrastructure for configuring wallpapers.
Actually being able to configure a wallpaper relies on additional
work in the launcher and wallpapers that will be in another change.
Also note that this breaks all existing wallpapers, since they now
need to include a meta-data item about themselves.  This also
will be fixed in another change.

Change-Id: I97d2c2bd07237abc32f92b9147c32530a2f73c71
2009-09-07 22:48:02 -07:00
Bob Lee
e540833fdf Integrated the profiler into the framework. We run it all the time if the persist.sampling_profiler
system property is set. Saves snapshots to the SD card.
2009-09-05 11:53:18 -07:00
Karl Rosaen
96836e1e8a Don't toggle between in app and global search on repeat key events.
Fixes http://b/issue?id=2019231.
2009-09-04 14:05:17 -07:00
Karl Rosaen
7bafed8623 Do a better job at finding the activity associated with a dialog when triggering search.
It first looks to see if there is an activity that is managing the dialog, and if not,
follows the context / contextwrapper chain to find an activity if possible.

Fixes http://b/issue?id=2064772.
2009-09-04 11:27:05 -07:00
Dianne Hackborn
dd9b82c283 Add better service reporting.
This will be used elsewhere.

Change-Id: Id561fa7fed5eb65446312cb697813483903d33a6
2009-09-03 14:11:02 -07:00
Dianne Hackborn
85644d7889 Really fix issue #:2097189 can't set custom wallpaper
Change-Id: Id0775b6c6716775c5da6f4fadf696571019279cc
2009-09-03 00:23:04 -07:00
Dianne Hackborn
5e802fbb89 Fix issue #2097189: can't set custom wallpaper
My deadlock fix was only half done.

Change-Id: If9f286030894a60cd71851fb784bb61045f08185
2009-09-02 21:53:30 -07:00
Dianne Hackborn
840c3a2b7e Fix deadlock in wallpaper.
Change-Id: I9ab5681ebf325a9e33ca4b59a8581e535e4dde54
2009-09-02 17:56:50 -07:00
Dianne Hackborn
a34f1ad7c3 Fiddle system boot ordering.
This makes the system a little more careful to not start third party
code until it is ready to.

Also fix a little bug in SyncManager that would cause it to crash
during boot if sync was in a failure state.

Change-Id: Ib2d287d8441d155d393fe740a5f98690895fd358
2009-09-02 17:39:54 -07:00
Christopher Tate
5e1ab335e6 Expand apps' control over the settings restore process
Applications can now specify two more aspects of the restore process:  whether
they need to run with their own custom Application subclass rather than being
launched in the usual restricted mode during restore, and whether it's okay for
the backup manager to kill the app process once restore has completed.  The new
manifest attributes for these are, respectively, android:restoreNeedsApplication
and android:killAfterRestore.

If unspecified in the manifest, restoreNeedsApplication is false, and
killAfterRestore is true.

In order to support kill-after-restore cleanly, this change also adds a new
system-process-only interface to the Activity Manager, which will schedule a
"commit suicide" event on the target app's main thread looper.

The framework backup agents have been given the appropriate new backup
attributes as well.
2009-09-01 20:59:36 -07:00
Dianne Hackborn
3025ef332c Various infrastructure to support a running services UI.
Some of this is temporary (in particular the two approaches for getting
process memory, one working but horrible, the other not working but
preferred) until I figure out the best way to do it.

Change-Id: I8c8f25062d481fcea22a47d459b083d2fd8a5040
2009-09-01 11:16:25 -07:00
Dianne Hackborn
284ac93aa3 More work on wallpapers: animations, lifecycle, scaling, etc.
Yet more work on improving the behavior of wallpapers.  This fixes a few
problems in their lifecycle (corresponding change in the picker also
required for this), makes their animations better for hardware that supports
alpha fades, adds animations for the wallpapers themselves, eliminates
fixed size wallpapers, and adjusts the API for retrieving a wallpaper
bitmap to take care of scaling the raw wallpaper image to match the current
desired width and height.

Change-Id: If1c0aaceba4ea4e175dcb7a8416ca7ddbb9bfa6f
2009-08-30 10:53:53 -07:00
Mike LeBeau
cc927375ce am af0b780a: Merge change 23198 into donut
Merge commit 'af0b780ac6305eb6b6795cb8139ae051e13dd7ff' into eclair

* commit 'af0b780ac6305eb6b6795cb8139ae051e13dd7ff':
  Update SearchManager documentation to reflect latest behavior.
2009-08-28 16:15:58 -07:00
Mike LeBeau
05b775e0b7 Update SearchManager documentation to reflect latest behavior. 2009-08-28 15:52:56 -07:00
Mike LeBeau
e9df3cf79c resolved conflicts for merge of 1e348378 to eclair 2009-08-27 23:54:12 -07:00
Dianne Hackborn
49237345d8 Add platform infrastructure for features.
This introduces a new mechanism to define features associated with
a platform, query the current device for the available features,
and enforce that apps requiring features that aren't available can't
be installed.

Also now allows uses-library to specify that a library is optional,
so the lack of such a library will not prevent the app from being
installed (but if it does exist it will be correctly linked into
the app).

Change-Id: I5b369b46cfa0b3d37c9e08fd14ef1098a978e67b
2009-08-27 21:51:00 -07:00
Android (Google) Code Review
1e3483780c Merge change 23043 into donut
* changes:
  Revert "Remove third party support for Quick Search Box (aka global search)."
2009-08-27 18:32:27 -07:00
Karl Rosaen
590f63433c Revert "Remove third party support for Quick Search Box (aka global search)."
This reverts commit a647b7f29d65a7792cede74284e714b591337992.
2009-08-27 17:42:48 -07:00
Bjorn Bringert
98d8858890 am ba223760: Close suggestion cursors that arrive after adapter is closed
Merge commit 'ba223760895e62ad2fcb85476984cb29018860c9' into eclair

* commit 'ba223760895e62ad2fcb85476984cb29018860c9':
  Close suggestion cursors that arrive after adapter is closed
2009-08-26 11:41:40 -07:00
Bjorn Bringert
ba22376089 Close suggestion cursors that arrive after adapter is closed
Before, after using the Browser, memory-hungry apps could
become very sluggish. This was because the search dialog in the
system process had the BrowserProvider open, which in turn had
EnhancedGoogleSearch open. Since EhancedGoogleSearch runs in acore,
the system would keep both the Browser process and acore to stay
around forever.

The cause (or at least one common cause) for this was that
if the user types quickly, and clicks on a suggestion before
the displayed suggestions have caught up, some suggestion cursors
are not be closed.

This change solves this problem by adding a close() method to
SuggestionsAdapter. SuggestionsAdapter now closes any cursors
that are passed to it after close() is called.

Fixes http://b/issue?id=2078226
"global search holding reference to browser: system -> browser -> acore = :("
2009-08-26 13:18:40 +01:00
Dianne Hackborn
4a51c20ce6 I am getting tired of the java doc warnings, so fix them.
Change-Id: I2205eebae419eaf4a0992c9f5b7cd807eb843fe1
2009-08-24 17:37:32 -07:00
Dianne Hackborn
f6f9f2d025 Add more control over a service's start state.
One of the problems I have been noticing is background services
sitting around running and using resources.  Some times this is
due to the app developer doing this when they shouldn't, but there
are also a number of issues with the current Service interaction
model that make it very difficult (or impossible) to avoid
getting services stuck in the started state.  This is a
change/enhancement to the Service API to try to address this.

The main change is that Service.onStart() has been deprecated,
replaced with a new Service.onStartCommand() that allows the
service to better control how the system should manage it.  The
key part here is a new result code returned by the function, telling
the system what it should do with the service afterwards:

- START_STICKY is basically the same as the previous behavior,
  where we usually leave the service running.  The only difference
  is that it if it gets restarted because its process is killed,
  onStartCommand() will be called on the new service with a null
  Intent instead of not being called at all.

- START_NOT_STICKY says that, upon returning to the system, if
  its process is killed with no remaining start commands to
  deliver, then the service will be stopped instead of restarted.
  This makes a lot more sense for services that are intended to
  only run while executing commands sent to them.

- START_REDELIVER_INTENT is like START_NOT_STICKY, except if
  the service's process is killed before it calls stopSelf()
  for a given intent, that intent will be re-delivered to it
  until it completes (unless after 4 or more tries it still
  can't complete, at which point we give up).

Change-Id: I978f5ca420d70023d1b5e7f97de639d09381f8ad
2009-08-24 17:00:54 -07:00
Jean-Baptiste Queru
dd03c6135f resolved conflicts for merge of 081a136d to eclair 2009-08-21 12:59:04 -07:00
Anonymous Coward
081a136d25 Remove third party support for Quick Search Box (aka global search).
- @hides relevant APIs
- removes relevant javadoc
- enforces that only system apps can participate

note: general support is still there, will be easy to reenable when we are ready.
2009-08-21 12:47:14 -07:00
Dianne Hackborn
3be63c0930 Infrastructure for supporting wallpaper previews.
Various things that will allow us to show previews of wallpapers.
Also some fixes to animations across wallpapers.
2009-08-20 20:34:42 -07:00
Dianne Hackborn
1066cbcac0 Fix build. 2009-08-18 15:09:23 -07:00
Dianne Hackborn
d8a43f6168 Fix issue #2047139: Remove Service.setForeground()
This API is becoming seriously abused, so now it is deprecated and has
become a no-op.

As an alternative, there is now a new API that allows you to make a service
be in the foreground but requires providing a persistent notification to
go along with this state, allowing the user to know about and control it.
2009-08-18 13:59:27 -07:00
Mike LeBeau
93df578638 am cfa419b7: Correct comments for startSearch in Activity and SearchManager to explain Donut behavior correctly.
Merge commit 'cfa419b754332e12f8cd45244c2f3bee9d6a74bb' into eclair

* commit 'cfa419b754332e12f8cd45244c2f3bee9d6a74bb':
  Correct comments for startSearch in Activity and SearchManager to explain
2009-08-18 10:59:53 -07:00
krosaen
d2d6014f71 NEW API for SearchManager and Activity to 'triggerSearch'.
This is pretty much the same thing as startSearch, except it also launches the
query.  We enforce that this can only be done for the package of the app that is
associated with the search mananger (e.g you can't trigger a contacts search
from anywhere).
2009-08-18 08:56:03 -07:00
Nick Pelly
bd022f423a Bluetooth: API change.
Split BluetoothDevice into BluetoothDevice and BluetoothAdapter.

BluetoothAdapter: Represents the local BT adapter. Operations on the local
                  adapter (start a scan, etc).
BluetoothDevice: Represents a remote BT device. Operations on remote devices
                 (pair, connect, etc).

IBluetoothDevice.aidl -> Bluetooth.aidl
BluetoothDeviceService.java -> BluetoothDeviceService.java

TODO:
Javadoc
2009-08-18 08:24:22 -07:00
Mike LeBeau
cfa419b754 Correct comments for startSearch in Activity and SearchManager to explain
Donut behavior correctly.
2009-08-17 11:10:32 -07:00
Dianne Hackborn
7341d7a104 More work on wallpapers.
- Do better about figuring out when to stop them and other related window
  management.
- Fix problem where we were not redrawing the surface when the orientation
  changed.  This was the cause of the device hang.
2009-08-17 10:42:59 -07:00
Dianne Hackborn
766cbfe44b Add new API to compare certs of two UIDs. 2009-08-12 21:40:05 -07:00
Dianne Hackborn
72c82ab992 Report wallpaper offset to the wallpaper, use this in the image wallpaper.
Wallpapers can now be just the size of the screen, and get told when their
scroll position should change to do the updating on their own.
2009-08-12 14:41:29 -07:00
Dianne Hackborn
90f77218a2 am b8546001: Merge change 20878 into donut
Merge commit 'b8546001701405a76dad7e6235046e592296fac2'

* commit 'b8546001701405a76dad7e6235046e592296fac2':
  Fix issue #2048263: More debugging information
2009-08-12 12:36:12 -07:00
Karl Rosaen
f57a1a5117 am b3fa1084: Merge change 20768 into donut
Merge commit 'b3fa1084ba31698fa5c58150a713d7abbadb1cd2'

* commit 'b3fa1084ba31698fa5c58150a713d7abbadb1cd2':
  Docs only change: finish documentation of Android Quick Search Box related information in SearchManager.
2009-08-12 12:04:22 -07:00
Dianne Hackborn
82e1ee93ee Fix issue #2048263: More debugging information
We now hopefully do better about generating the anr reports, and include
information about the malloc loaded assets in meminfo.
2009-08-11 18:56:41 -07:00
Karl Rosaen
d47fddc5d7 am abf44279: Fix NPE in SearchDialog (and thereby fix bug 2045398).
Merge commit 'abf44279add64c6f22a40592895225779b8481ea'

* commit 'abf44279add64c6f22a40592895225779b8481ea':
  Fix NPE in SearchDialog (and thereby fix bug 2045398).
2009-08-11 18:11:40 -07:00