Commit Graph

699 Commits

Author SHA1 Message Date
Amith Yamasani
c37cb24695 Feature to return an extra in the cursor that keeps the spinny going.
If a search provider returns an extra in the cursor with the key
SearchManager.CURSOR_EXTRA_KEY_IN_PROGRESS, and the value true, then
the spinny in the search dialog will not stop, but the cursor
contents will still be used to update the results. This way, partial
search results can be sent while the user is informed that the search
is still in progress.
2010-03-03 15:46:48 -08:00
Bjorn Bringert
22b23a1bea Use "play" icon for search dialog button in Browser
Fixes http://b/issue?id=2485462

Change-Id: Ibc8843b236aa0a063d91fbd37a2c09cebd21163e
2010-03-03 21:50:29 +00:00
Bjorn Bringert
0b49ab5cae Add SearchManager.SUGGEST_COLUMN_TEXT_2_URL
This column overrides SUGGEST_COLUMN_TEXT_2. SearchDialog
and QuickSearchBox render the value of this column as a URL in
green.

Part of the fix for http://b/issue?id=2380681

Change-Id: I6735e0eba90e24c81f9e72520f257e5e61796d7a
2010-03-03 09:20:36 +00:00
Romain Guy
7883c975dd Prevent crash in Dialog.
Bug #2249637
2010-03-01 16:39:17 -08:00
Jacek Surazski
b71c6164ef Merge "Add BatteryInfo to ApplicationErrorReport." 2010-02-27 04:00:44 -08:00
Dianne Hackborn
87bba1ee14 Move DeviceAdmin APIs to android.app.admin.
Also add ability for admins to hide themselves when not in use,
a facility for admins to not allow other admins to reset
their password, and debug dumping.
2010-02-26 23:32:48 -08:00
Dianne Hackborn
8f7f35e0cc Add new -W option to Am to wait for the start to complete. 2010-02-26 16:34:33 -08:00
Jacek Surazski
151de3d9df Add BatteryInfo to ApplicationErrorReport. 2010-02-26 22:52:44 +01:00
Carl Shapiro
82fe564267 Comment out the finalize() methods defined on the Activity,
ContextImpl, View and ViewRoot classes.  This allows instances of
subclasses to be collected without the additional latency of
finalization.
2010-02-25 16:42:28 -08:00
Dianne Hackborn
2269d1572e Re-arrange android-common so framework no longer links with it.
This is the framework part, moving classes around so the framework
no longer needs to link to android-common.  Makes some APIs public,
others that didn't need to be public are private in the framework,
some small things are copied.
2010-02-25 11:39:33 -08:00
Amith Yamasani
d368572f8e Fix for voice search crash in maps and youtube. Bug 2453182
No need to nullify the context variable.

Also fix 2463128 : No voice icon when text is present in text field
2010-02-25 10:25:45 -08:00
Kenny Root
846ebf38ab Merge "Add some backup Javadoc and clean imports" 2010-02-24 13:19:14 -08:00
Kenny Root
5a20ea16d7 Add some backup Javadoc and clean imports
Add a bit more Javadoc to the backup infrastructure and clean up unused
imports.

Change-Id: I8ab7c3fb887ae2e8d2f1bfac42f03cb4b42685ef
2010-02-24 12:47:14 -08:00
Brian Carlstrom
778ce48665 Issue 5697: getContextClassLoader returns a non-application classloader
ActivityThread should try to set the value for Java
Thread.getContextClassLoader to the PathClassLoader that loaded the
APK's classes so that Java frameworks that use the Java context class
loader, which is not to be confused with the
android.content.Context.getClassLoader which serves a similar purpose
in the Android framework.

However, we avoid setting the Java context ClassLoader to the APK's
PathClassLoader if there is a static indication that multiple packages
may share the VM, since they could load in an unpredictable order
leading to different values for the thread local Java context
ClassLoader. In this case, we instead use a specially created
WarningContextClassLoader that warns the user the first time the Java
context ClassLoader.

Currently the static indications that a package might share a VM with
other packages are the presence in the AndroidManifest of a
sharedUserId or requesting a non-default application process name.
2010-02-23 15:58:00 -08:00
Bjorn Bringert
6cf7a325e6 Clean up global search and web search activity finding
This removes the '*' value for android.app.searchable and
android.app.default_searchable that was previously used by apps to say
that they want global search as their search. I think the only
activity that this will affect is the wallpaper chooser in the
launcher, which doesn't seem like it matters.  It could mean that some
third party code will stop invoking global search, but all they would
need to do is call startSearch() with globalSearch=true instead.

Fixes http://b/issue?id=2377433 and http://b/issue?id=2377429

Change-Id: I0252952b44ae85dab31221b598ed79cc24e2b580
2010-02-23 14:27:43 +00:00
Dianne Hackborn
9e0f5d9a63 Fix some random bugs.
2185256: After open &close of device keyboard shortcut does not added to Home desktop.

ActivityThread was losing the last saved state when restarting or launching into
a paused state.

2366174: defaults not cleared when they should be

PackageManagerService now removes any preferred activity records for a package
when it is uninstalled.

2154556: Battery stats can have an unbounded number of wake locks

We now start combining wake locks into one shared record when we hit a
maximum limit (currently 20).

2442519: Foreground services can have no notification by providing a bogus one.

If the notification manager rejects our notification, the service is forced to
no longer be in the foreground.

2442383: Finalization issues in com.android.server.am.PendingIntentRecord.java

Cleaned up finalization to call super class and avoid the big activity manager
lock (we still need to use the locks inside of the message system, but these
are much less likely to be a problem).

2284190: Cannot call a phone number using adb

We weren't getting the calling uid/pid in startActivity() if the caller did not
supply an application record.
2010-02-22 20:45:58 -08:00
Makoto Onuki
2f6a01858b Fix bug 2183276: Synchronize all mManagedCursors accesses. 2010-02-22 17:27:57 -08:00
Tobias Haamel
29274dc363 Also fix the API description file after UI_MODE_SERVICE rename. 2010-02-22 22:27:41 +01:00
Dianne Hackborn
299102f8c3 Merge "Fix missing UI_MODE_SERVICE rename." 2010-02-22 12:57:41 -08:00
Bjorn Bringert
da576e8c84 Merge "Don't start global search from system dialogs" 2010-02-22 12:57:13 -08:00
Tobias Haamel
69fb574e29 Fix missing UI_MODE_SERVICE rename. 2010-02-22 21:54:05 +01:00
Bjorn Bringert
b8144a9c18 Don't start global search from system dialogs
Also, set FLAG_ACTIVITY_NEW_TASK to allow launching
global search from non-activity contexts.

Fixes http://b/issue?id=2460991

Change-Id: I833d5b851f0127fb69165fbfc7d1ee190b320401
2010-02-22 20:48:57 +00:00
Tobias Haamel
5333288354 Manager for controlling the UI modes.
The ui modes can be controlled with the UiModeManager class, which
is can be retrieved as a system service via getSytemService(Context.UIMODE_SERVICE).

The class is necessary so that CarHome can be unbundled and other apps can
disable the car mode. Its currently a hidden class, since I'm not sure if this
is the best way to provide this functionality to the user.
2010-02-22 21:42:39 +01:00
Dianne Hackborn
21f1bd17b2 Fix issue #2438980: Implement package watcher for voice recognizer service setting
I am getting tired of writing package monitor code, realized this is missing in
a number of places, and at this point it has gotten complicated enough that I
don't think anyone actually does it 100% right so:

Introducing PackageMonitor.

Yes there are no Java docs.  I am still playing around with just what this
thing is to figure out what makes sense and how people will use it.  It is
being used to fix this bug for monitoring voice recognizers (integrating the
code from the settings provider for setting an initial value), to replace
the existing code for monitoring input methods (and fix the bug where we
wouldn't remove an input method from the enabled list when it got
uninstalled), to now monitor live wallpaper package changes (now allowing
us to avoid reverting back to the default live wallpaper when the current
one is updated!), and to monitor device admin changes.

Also includes a fix so you can't uninstall an .apk that is currently enabled
as a device admin.

Also includes a fix where the default time zone was not initialized early
enough which should fix issue #2455507 (Observed Google services frame work crash).

In addition, this finally introduces a mechanism to determine if the
"force stop" button should be enabled, with convenience in PackageMonitor
for system services to handle it.  All services have been updated to support
this.  There is also new infrastructure for reporting battery usage as an
applicatin error report.
2010-02-22 11:27:52 -08:00
Suchi Amalapurapu
8946dd3355 Move package from internal to external and vice versa. 2010-02-19 14:20:54 -08:00
Dianne Hackborn
75288fa1a4 Improve Service documentation with some samples.
Also some small tweaks to the Message API to improve its
use in the MessengerService sample.
2010-02-18 16:28:23 -08:00
Dianne Hackborn
e36d6e277e Work on issue #2263557: PMF3000 showing hybrid of portrait and landscape modes
This is a bunch of reworking of how configuration changes are handled:

- When orientation is changing (for whatever reason), the window manager no
  longer tries to pre-emptively compute a new configuration.  Instead, it
  just determines  change is happening and tells the window manager.
- The activity manager is now responsible for giving the window manager the
  final configuration it is using.  This is both so it knows whem the
  activity manager is done with its configuration updates, and so the window
  manager can use the "real" configuration.
- When an orientation or other configuration change is happening, freeze the
  screen and keep it frozen until the activity manager has given us the
  final configuration.
- The window manager can now send new configurations to its clients during
  its layout pass, as part of a resize, if it has determined that it has
  changed.  This allows for a new View.onConfigurationChanged() API for any
  view to easily find out when the configuration has changed.
- ViewRoot now also works with the activity thread to make sure the process's
  current resources are updated to the new configuration when it receives one
  from a window.  This ensures that at the time onConfigurationChanged() and
  other view callbacks are happening, the correct configuration is in force.
- There is now a sequence number associated with Configuration, which
  ActivityThread uses to avoid using stale configurations.  This is needed now
  that it can receive configurations asynchronously from both the window
  manager and activity manager.
- The hack for keeping the locale has been removed, and underlying problem
  fixed by having Configuration initialize its locale to "unknown" instead of
  a valid default value.
2010-02-18 15:47:34 -08:00
Bjorn Bringert
ea125f45eb Add SearchManager.getWebSearchActivity()
The Browser needs this to know where to get web suggestions from.

Change-Id: Ia7ce75609135e7cdf3b385a29a3f47e3458fa61e
2010-02-18 21:57:59 +00:00
Amith Yamasani
479ae0a280 Cleanup of global search references in SearchDialog and SearchManager. 2010-02-17 13:19:27 -08:00
Kenny Root
a3639da4f2 Fix cast to String[] in FullBackupAgent
obj.toArray() can't return anything more specific than Object[], so use
obj.toArray(new String[obj.size()]) to do this instead.

Change-Id: I87a0a2bb10206a37b28a535652a8f81f94c1f06f
2010-02-17 12:47:04 -08:00
Dianne Hackborn
ef6b22fc04 Fix issue #2420412: API review: DeviceAdmin API changes
Note in docs that callbacks are on main thread.
Rename to DeviceAdminReceiver?
Document resetPassword is the device's password.

Also hide android.R.attr.neverEncrypt.
2010-02-17 10:29:52 -08:00
Chris Tate
cff1ae56e8 Merge "API CHANGE: expose backup/restore to the SDK" 2010-02-16 16:58:17 -08:00
Christopher Tate
e28290e21f API CHANGE: expose backup/restore to the SDK
The core backup/restore classes [BackupManager, BackupAgent, RestoreSession, and
RestoreObserver] are now published for 3rd party developers, as well as the suite
of helper classes that exist so far to aid authorship of backup/restore agents.

In conjunction with the API change, the restore-time automatic data wipe has now
been removed:  applications are responsible for managing the logic of wipe vs
merge themselves.  If the app's agent onRestore() callback throws, the data
is presumed to be incoherent and a wipe is issued via the Activity Manager;
otherwise, no automatic action is ever taken.

Change-Id: I0b3418b829d4689b58b88be3d9c4ace37a8583a9
2010-02-16 16:23:55 -08:00
Mike LeBeau
4b71fc0fa8 Merge "Add constant to android-common for voice search's EXTRA_CALLING_PACKAGE, and use it from SearchDialog." 2010-02-16 16:10:09 -08:00
Suchi Amalapurapu
5b993ce7bc Include install location preference when installing packages.
Changes include
Add new remote call in default container service to determine
install location.
Rename INSTALL_ON_SDCARD
Remove recommentAppInstall method
Add some additional flags used in remote stubs.
Move check for protected apps prior to copy.
Unit tests

DefaultContainerService first parses the file uri(if content uri is specified
it returns a default install internal only value) and returns
a recommended location. Based on which the temporary id is determined
either a file name or a container id and the file is copied there.
This is then later renamed during install.
Todo's light weight parsing of package when determining location since we
just need the install location attribute only when finding out
recomended location. This will also enable to move the check for
updated system apps(cannot be on sdcard) prior to copying.
2010-02-12 18:50:47 -08:00
Mike LeBeau
c2fd9adf0e Add constant to android-common for voice search's EXTRA_CALLING_PACKAGE,
and use it from SearchDialog.
2010-02-12 17:51:31 -08:00
Mike LeBeau
60d21566fc Merge "Really fix the build - one more change to SearchDialog which shouldn't have been submitted." 2010-02-12 15:30:42 -08:00
Mike LeBeau
0ffc570598 Really fix the build - one more change to SearchDialog which shouldn't have
been submitted.
2010-02-12 15:30:12 -08:00
Mike LeBeau
80eeeb7095 Merge "Make the corresponding frameworks change to add VoiceRecognitionService to the list of SDK sample apps." 2010-02-12 14:31:00 -08:00
Mike LeBeau
9c57aca188 Make the corresponding frameworks change to add VoiceRecognitionService to
the list of SDK sample apps.
2010-02-12 14:09:55 -08:00
Dianne Hackborn
470969346d Add APIs for mapping between new and current package names.
This will allow Market and others to find out what the "real" name
of a package is, when it is currently running under the old name of
a previously installed version.
2010-02-11 20:02:20 -08:00
Raphael
dc2df328b3 Fix build.
Change-Id: Ica616f038436e3639d12064327ddd0a9fa49af8b
2010-02-11 17:01:16 -08:00
Dianne Hackborn
315ada7fbb Get rid of the limit-unlock policy control.
This is merged with force-lock.  These both allow effectively the same thing,
so there is no reason to junk up the user experience with them as separate
entities.
2010-02-11 14:36:30 -08:00
Tobias Haamel
27b28b3f62 Introduce special UI modes for night and car usage.
The device mode is now called ui mode. Furthermore is the order of
precedence for the resources now in such a way that the ui mode needs
to be specified after the orientation and before the density.

The ui mode can be set, like it is done for the locale, as follows:

IActivityManager am = ActivityManagerNative.getDefault();
Configuration config = am.getConfiguration();
config.uiMode = Configuration.UI_MODE_TYPE_CAR | Configuration.UI_MODE_NIGHT_ANY;
am.updateConfiguration(config);

To allow users to disable the car mode and set the night mode the IUiModeManager
interface is used.

The automatic night mode switching will be added in a separate change.
2010-02-11 21:25:58 +01:00
Amith Yamasani
5e2c81dca6 Remove in-app to global search toggle. Bug: 2436539
Quick fix to ignore the search key in SearchDialog. Need to
cleanup related code.
2010-02-11 07:29:45 -08:00
Bjorn Bringert
e4e82f2782 Unhide SearchManager.INTENT_ACTION_SEARCH_SETTINGS
This intent action is needed by Settings to start the search settings
activity which lives in QuickSearchBox / GoogleQuickSearchBox.

Fixes http://b/issue?id=2394530

Change-Id: Iea2a7d9df0092459e5618986f4f789f9257f912a
2010-02-10 21:30:29 +00:00
Bjorn Bringert
23897c16a6 Use resource ID for searchable description
Before, SearchableInfo read and cached the localized
searchable description, which meant that it was not updated
on locale changes. Now SearchableInfo only holds the resource
ID.

SearchableInfo is a new API in Froyo, so it's ok to change.

Part of http://b/issue?id=2175247

Change-Id: I1898f7895b9172f58419d906ad741cb7dd1e7252
2010-02-10 21:22:57 +00:00
Suchi Amalapurapu
117818e4f1 Add new manifest option for install location
Change recommendAppInstallLocation api
add code to parse new attribute.
Define flags in PackageInfo
Add new settings attributes for enabling setting and value for install location
Some tests
The policy for install location: if explicitly set in manifest as internal only we try to install the app only on internal storage. if set to preferExternal, we try to install it on sdcard if possible. If not we fall back to internal.
If the user enables setting SET_INSTALL_LOCATION(which will always
be set to false in final release builds) and sets a prefered location, we try
to honour it.
2010-02-10 08:59:08 -08:00
Bjorn Bringert
ced72c8cf5 Remove SearchManager.SOURCE
Part of http://b/issue?id=2429556

Change-Id: I08a95a844b74cb50a740c0c155c6ad79f2c9cbcc
2010-02-10 14:26:52 +00:00
Dianne Hackborn
e83cefcef0 New external storage APIs.
This implements the spec for external storage organization, and
properly reflects how the media scanner organizes the files it finds.

Also includes package manager support for removing app private
files from external storage when the application is uninstalled.

For the new APIs and paths, the main place to look is Environment
and Context.
2010-02-09 14:20:55 -08:00