Commit Graph

1676 Commits

Author SHA1 Message Date
Christopher Tate
4a627c71ff Full local backup infrastructure
This is the basic infrastructure for pulling a full(*) backup of the
device's data over an adb(**) connection to the local device.  The
basic process consists of these interacting pieces:

1. The framework's BackupManagerService, which coordinates the
   collection of app data and routing to the destination.

2. A new framework-provided BackupAgent implementation called
   FullBackupAgent, which is instantiated in the target applications'
   processes in turn, and knows how to emit a datastream that contains
   all of the app's saved data files.

3. A new shell-level program called "bu" that is used to bridge from
   adb to the framework's Backup Manager.

4. adb itself, which now knows how to use 'bu' to kick off a backup
   operation and pull the resulting data stream to the desktop host.

5. A system-provided application that verifies with the user that
   an attempted backup/restore operation is in fact expected and to
   be allowed.

The full agent implementation is not used during normal operation of
the delta-based app-customized remote backup process.  Instead it's
used during user-confirmed *full* backup of applications and all their
data to a local destination, e.g. via the adb connection.

The output format is 'tar'.  This makes it very easy for the end
user to examine the resulting dataset, e.g. for purpose of extracting
files for debug purposes; as well as making it easy to contemplate
adding things like a direct gzip stage to the data pipeline during
backup/restore.  It also makes it convenient to construct and maintain
synthetic backup datasets for testing purposes.

Within the tar format, certain artificial conventions are used.
All files are stored within top-level directories according to
their semantic origin:

apps/pkgname/a/  : Application .apk file itself
apps/pkgname/obb/: The application's associated .obb containers
apps/pkgname/f/  : The subtree rooted at the getFilesDir() location
apps/pkgname/db/ : The subtree rooted at the getDatabasePath() parent
apps/pkgname/sp/ : The subtree rooted at the getSharedPrefsFile() parent
apps/pkgname/r/  : Files stored relative to the root of the app's file tree
apps/pkgname/c/  : Reserved for the app's getCacheDir() tree; not stored.

For each package, the first entry in the tar stream is a file called
"_manifest", nominally rooted at apps/pkgname.  This file contains some
metadata about the package whose data is stored in the archive.

The contents of shared storage can optionally be included in the tar
stream. It is placed in the synthetic location:

shared/...

uid/gid are ignored; app uids are assigned at install time, and the
app's data is handled from within its own execution environment, so
will automatically have the app's correct uid.

Forward-locked .apk files are never backed up.  System-partition
.apk files are not backed up unless they have been overridden by a
post-factory upgrade, in which case the current .apk *is* backed up --
i.e. the .apk that matches the on-disk data.  The manifest preceding
each application's portion of the tar stream provides version numbers
and signature blocks for version checking, as well as an indication
of whether the restore logic should expect to install the .apk before
extracting the data.

System packages can designate their own full backup agents.  This is
to manage things like the settings provider which (a) cannot be shut
down on the fly in order to do a clean snapshot of their file trees,
and (b) manage data that is not only irrelevant but actively hostile
to non-identical devices -- CDMA telephony settings would seriously
mess up a GSM device if emplaced there blind, for example.

When a full backup or restore is initiated from adb, the system will
present a confirmation UI that the user must explicitly respond to
within a short [~ 30 seconds] timeout.  This is to avoid the
possibility of malicious desktop-side software secretly grabbing a copy
of all the user's data for nefarious purposes.

(*) The backup is not strictly a full mirror.  In particular, the
    settings database is not cloned; it is handled the same way that
    it is in cloud backup/restore.  This is because some settings
    are actively destructive if cloned onto a different (or
    especially a different-model) device: telephony settings and
    AndroidID are good examples of this.

(**) On the framework side it doesn't care that it's adb; it just
    sends the tar stream to a file descriptor.  This can easily be
    retargeted around whatever transport we might decide to use
    in the future.

KNOWN ISSUES:

* the security UI is desperately ugly; no proper designs have yet
  been done for it
* restore is not yet implemented
* shared storage backup is not yet implemented
* symlinks aren't yet handled, though some infrastructure for
  dealing with them has been put in place.

Change-Id: Ia8347611e23b398af36ea22c36dff0a276b1ce91
2011-05-10 17:52:51 -07:00
Dianne Hackborn
aa9d84c37e resolved conflicts for merge of 05be6d6f to master
Change-Id: Ic6a6c5bb300f6f1d43f9ed550b284282b4f16212
2011-05-09 19:00:59 -07:00
Dianne Hackborn
05be6d6fe0 am 4907d1d5: am 0c6cbf41: Merge "Better compat mode part one: start scaling windows." into honeycomb-mr2
* commit '4907d1d5e2c7d244b07579b8c52153df69754e85':
  Better compat mode part one: start scaling windows.
2011-05-09 17:10:34 -07:00
Dianne Hackborn
4907d1d5e2 am 0c6cbf41: Merge "Better compat mode part one: start scaling windows." into honeycomb-mr2
* commit '0c6cbf410a642f6e9cea7cca0a6e53a4a3cdd324':
  Better compat mode part one: start scaling windows.
2011-05-09 17:08:40 -07:00
Dianne Hackborn
e2515eebf4 Better compat mode part one: start scaling windows.
First step of improving app screen size compatibility mode.  When
running in compat mode, an application's windows are scaled up on
the screen rather than being small with 1:1 pixels.

Currently we scale the application to fill the entire screen, so
don't use an even pixel scaling.  Though this may have some
negative impact on the appearance (it looks okay to me), it has a
big benefit of allowing us to now treat these apps as normal
full-screens apps and do the normal transition animations as you
move in and out and around in them.

This introduces fun stuff in the input system to take care of
modifying pointer coordinates to account for the app window
surface scaling.  The input dispatcher is told about the scale
that is being applied to each window and, when there is one,
adjusts pointer events appropriately as they are being sent
to the transport.

Also modified is CompatibilityInfo, which has been greatly
simplified to not be so insane and incomprehendible.  It is
now simple -- when constructed it determines if the given app
is compatible with the current screen size and density, and
that is that.

There are new APIs on ActivityManagerService to put applications
that we would traditionally consider compatible with larger screens
in compatibility mode.  This is the start of a facility to have
a UI affordance for a user to switch apps in and out of
compatibility.

To test switching of modes, there is a new variation of the "am"
command to do this: am screen-compat [on|off] [package]

This mode switching has the fundamentals of restarting activities
when it is changed, though the state still needs to be persisted
and the overall mode switch cleaned up.

For the few small apps I have tested, things mostly seem to be
working well.  I know of one problem with the text selection
handles being drawn at the wrong position because at some point
the window offset is being scaled incorrectly.  There are
probably other similar issues around the interaction between
two windows because the different window coordinate spaces are
done in a hacky way instead of being formally integrated into
the window manager layout process.

Change-Id: Ie038e3746b448135117bd860859d74e360938557
2011-05-09 17:03:24 -07:00
Joe Onorato
c6cc0f8c19 Rename ViewRoot to ViewAncestor.
ViewRoot is about to be a new public class for poking at ViewAncestor.

Change-Id: Ie95d707c6d8bbb48f78d093d7b2667851812a7d5
2011-05-04 14:08:11 -07:00
Conley Owens
4c79ca8cae am c30d7676: am 1a846ab0: am b1578d85: Merge "Fix startSearch condition on Dialog, because pressing search key causes ANR popup. If search key is pressed on Dialog and there is no search item then do nothing. How to reproduce the issue: Settings > About phone > Legal
* commit 'c30d767628861b0bbea907824682e47732c820f9':
  Fix startSearch condition on Dialog, because pressing search key causes ANR popup. If search key is pressed on Dialog and there is no search item then do nothing. How to reproduce the issue: Settings > About phone > Legal information > Google legal > Press search key > Touch list item or press back key > ANR popup is shown
2011-05-02 10:11:43 -07:00
Conley Owens
c30d767628 am 1a846ab0: am b1578d85: Merge "Fix startSearch condition on Dialog, because pressing search key causes ANR popup. If search key is pressed on Dialog and there is no search item then do nothing. How to reproduce the issue: Settings > About phone > Legal information >
* commit '1a846ab089878a6b342c6bc3e8850fc2e0ef3080':
  Fix startSearch condition on Dialog, because pressing search key causes ANR popup. If search key is pressed on Dialog and there is no search item then do nothing. How to reproduce the issue: Settings > About phone > Legal information > Google legal > Press search key > Touch list item or press back key > ANR popup is shown
2011-04-29 17:07:14 -07:00
Conley Owens
b1578d85ce Merge "Fix startSearch condition on Dialog, because pressing search key causes ANR popup. If search key is pressed on Dialog and there is no search item then do nothing. How to reproduce the issue: Settings > About phone > Legal information > Google legal > Press search key > Touch list item or press back key > ANR popup is shown" 2011-04-29 09:59:48 -07:00
Adam Powell
9b4bee0f14 Introducing the split action bar.
Apply (or extend) the theme Theme.Holo.SplitActionBarWhenNarrow or
Theme.Holo.Light.SplitActionBarWhenNarrow to enable splitting the
action bar across both the top and bottom of the screen. This places
the action menu along the bottom, leaving more room at the top for
titles, navigation, and custom views and more room at the bottom for
menu items.

TODO: Refine layout of the action menu when placed at the bottom of
the screen. Make action modes split as well.

Change-Id: I92c91f99c533f26aecf6b828ed041386c4f16922
2011-04-28 19:13:25 -07:00
Adam Powell
dae7824c4b Action bar work for phones
Drop tabs to a second row at < w480dp

Make 9-patches for the cab's "done" button thinner

Add a "disable home" display option to the action bar to turn off
focus and touch feedback when tapping home would do nothing

Change-Id: Ib2eedf311655f02055357321e2e9ad5b9037fed1
2011-04-25 17:42:45 -07:00
Dianne Hackborn
44bc17c6b5 Rework display size access.
Applications now get the display size from the window manager.  No
behavior should be changed yet, this is just prep for some real
changes.

Change-Id: I2958a6660895c1cba2b670509600014e55ee9273
2011-04-21 15:17:52 -07:00
Dianne Hackborn
9567a66a5e Deprecate a bunch of APIs.
And clean up some documentation.

Change-Id: I7882183b3daf883b7ac6098d19f88dc7cfbcdf61
2011-04-20 10:26:44 -07:00
Amith Yamasani
25641ca1ac Merge "Plumbing in PackageManager and installd for multi-user support." 2011-04-19 10:41:20 -07:00
Dianne Hackborn
d071ec2b49 Integrate from support lib: fix restore of list state.
The FragmentManager/ListFragment impl was restoring the list
state before setting its adapter.  This caused the list view to
lose the state, since it gets cleared as part of setting the
adapter.  Now the fragment manager waits on restoring the view
hierarchy state until after it has done onActivityCreated(),
at which point we have set the adapter.

It would be nice to make list view less fragile in this regard,
but that is for a different change.

Change-Id: I032d6fe0fefc0dabfae95d44152146029ef5db8e
2011-04-18 14:08:33 -07:00
Dianne Hackborn
47c4156567 Back-port new fragment detach APIs from support lib.
This allow a much cleaner implementation of things like the
fragment pager class.

Change-Id: I433be3d6c24c9a059d908d442bcfddbf1e8e57e5
2011-04-18 10:18:05 -07:00
Amith Yamasani
0b285499db Plumbing in PackageManager and installd for multi-user support.
- Create /data/user directory and symlink /data/user/0 -> /data/data for
  backward compatibility
- Create data directories for all packages for new user

- Remove data directories when removing a user

- Create data directories for all users when a package is created

- Clear / Remove data for multiple users

- Fixed a bug in verifying the location of a system app

- pm commands for createUser and removeUser (will be disabled later)

- symlink duplicate lib directories to the original lib directory

Change-Id: Id9fdfcf0e62406a8896aa811314dfc08d5f6ed95
2011-04-15 15:15:27 -07:00
Dianne Hackborn
0c5001d776 Add APIs to remove tasks.
You can remove sub-tasks inside of a task, or an entire task.

When removing an entire task, you can have its process killed
as well.

When the process is killed, any running services will get an
onTaskRemoved() callback for them to do cleanup before their
process is killed (and the service possibly restarted).

Or they can set a new android:stopWithTask attribute to just
have the service automatically (cleanly) stopped at this point.

Change-Id: I1891bc2da006fa53b99c52f9040f1145650e6808
2011-04-12 18:28:06 -07:00
Amith Yamasani
beb182a494 Merge "Package manager changes to store and update user information." 2011-04-11 12:14:17 -07:00
Amith Yamasani
4b2e934928 Package manager changes to store and update user information.
Some API stubs for managing users and storing their details.
List of users is stored in an xml file.
Each user's properties are stored in a separate xml file.

Some unit tests for modifying the XML files.

Change-Id: If2ce2420723111bd426f6762def3c2afc19a0ae5
2011-04-11 12:12:58 -07:00
Dianne Hackborn
bcbab36843 Merge "Rework thumbnails in activity manager." 2011-04-08 18:28:14 -07:00
Dianne Hackborn
f26fd99a7c Rework thumbnails in activity manager.
We now only keep a thumbnail for the task, not for each
activity.  However if you use FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET,
we will make a new secondary thumbnail for that series of
activities.  There is a new API for the app to get these
secondary thumbnails.

Also set a default thumbnail size for non-xlarge screens
so we have thumbnails on phones.  (We need some smarter
code in the platform for computing the actual thumbnail
dimensions of the current device).  And add a test app
to show recent tasks + thumbnails.

Change-Id: Ic36759f6635522118a2cb7f156662229a610c492
2011-04-08 18:16:21 -07:00
Joe Onorato
43a17654cf Remove the deprecated things from Config.java. These haven't been working since before 1.0.
Change-Id: Ic2e8fa68797ea9d486f4117f3d82c98233cdab1e
2011-04-07 19:23:05 -07:00
Dianne Hackborn
e17aeb3103 Improve activity manager debug dumps.
Activity manager now does all dump requests into apps
asynchronously, so it can nicely timeout if there is an
app problem.  Also lots of general cleanup of the am
dump output.

Change-Id: Id0dbccffb217315aeb85c964e379833e6aa3f5af
2011-04-07 18:26:15 -07:00
Chet Haase
9c1e23baf5 Add logging of graphics acceleration info to bugreports
Change-Id: I9fa4cda6ccf92df9d1c644ccdc0e7274a30106e0
2011-04-01 13:24:53 -07:00
Brian Carlstrom
ed7e00729f SamplingProfilerIntegration and SamplingProfiler improvements (3/3)
Summary:

frameworks/base
- fix profiling to collect data beyond the first snapshot
- avoid many small files, accumulate data over process lifetime

libcore:
- add support for VM specific sampling, trying to cut down overhead
- added support for converting snapshot files to text format
- fixed race in profiler when stopping

dalvik
- added VMStack.setThreadStackTrace interface for filling a stack
  trace into an existing StackTraceElement[]

Details:

frameworks/base

    Changed snapshots from text to binary hprof format (bumping version to 3)
    Changed from one file per snapshot to one file per process lifetime.
    Restart profiling after snapshot.

	core/java/com/android/internal/os/SamplingProfilerIntegration.java

    Add quick test in maybeSnapshot to avoid doing work when the
    SamplingProfilerIntegration is disabled. Make maybeSnapshot
    private. Remove unneeded memory allocation in handleLowMemory.

	core/java/android/app/ActivityThread.java

libcore

    Added ThreadSampler interface. This allows VM specific thread
    sampling optimizations. The portable version continues to use
    Thread.getStackTrace().

	dalvik/src/main/java/dalvik/system/profiler/ThreadSampler.java
	dalvik/src/main/java/dalvik/system/profiler/PortableThreadSampler.java
	dalvik/src/main/java/dalvik/system/profiler/SamplingProfiler.java

    Add VMStack.setThreadStackTrace and use in new DalvikThreadSampler
    to avoid allocating a full stack trace when only a limited depth
    is desired.

	dalvik/src/main/java/dalvik/system/profiler/DalvikThreadSampler.java
	dalvik/src/main/java/dalvik/system/VMStack.java

    Refactored BinaryHprof.readMagic out of BinaryHprofReader so it
    can be used by HprofBinaryToAscii converter to probing file
    types. Added magic number constant to be shared between readMagic
    and BinaryHprofWriter.

	dalvik/src/main/java/dalvik/system/profiler/BinaryHprof.java
	dalvik/src/main/java/dalvik/system/profiler/BinaryHprofReader.java
	dalvik/src/main/java/dalvik/system/profiler/BinaryHprofWriter.java
	dalvik/src/main/java/dalvik/system/profiler/HprofBinaryToAscii.java

    Removed unneeded HprofWriter interface. Changed to simpler static
    interface to write HprofData to binary and text formats.

	dalvik/src/main/java/dalvik/system/profiler/HprofWriter.java
	dalvik/src/main/java/dalvik/system/profiler/AsciiHprofWriter.java
	dalvik/src/main/java/dalvik/system/profiler/BinaryHprofWriter.java
	dalvik/src/test/java/dalvik/system/profiler/SamplingProfilerTest.java

    Added support for reading snapshot files created by
    SamplingProfilerIntegration by stripping the text header to allow
    easier conversion to the text format.

	dalvik/src/main/java/dalvik/system/profiler/HprofBinaryToAscii.java

    Fixed race between Sampler and
    SamplingProfiler.stop. SamplingProfiler.stop previously simply
    called the Sampler's TimerTask.cancel method, but this does not
    wait for a currently running Sampler to finish. The TimerTask
    documentation says the only reliable way to do this is to have the
    run() cancel itself, so that is what is now done, with new code to
    ensure that SamplingProfiler.stop does not return until the
    Sampler has been terminated.

	dalvik/src/main/java/dalvik/system/profiler/SamplingProfiler.java

dalvik

   Refactored VMStack_getThreadStackTrace to create helper getTraceBuf
   used to implement new VMStack_setThreadStackTrace. The new version
   interface fills an existing StackTraceElement[], avoid allocating
   unnecessary StackTraceElements.

	vm/native/dalvik_system_VMStack.c

   Refactor dvmGetStackTraceRaw to create dvmSetStackTraceRaw which
   fills in an existing, potentially smaller, StackTraceElement[].

	vm/Exception.c
	vm/Exception.h

   Change stack depths to be unsigned to avoid signed/unsigned comparison warnings.

	vm/Ddm.c
	vm/Exception.c
	vm/Exception.h

Change-Id: I4b90255e4e1d33ea2b569321c4968b0f3369f251
2011-03-29 11:24:37 -07:00
Chet Haase
bc377841db Add custom fragment anims to be run when popping backstack
The previous fragment implementation allowed for animations
during fragment transitions, but did not account for the
different behavior of fragments when popping the back stack.
In general, you probably don't want to run the same animation
for putting a fragment on the stack as for popping it off, which
is what happens now. For example, you might fade a fragment out when
putting it on the stack. But when popping ot off, fading it out
is probably not the behavior you want.

The new API (setCustomAnimations() overload with two additional
parameters) allows developers to specify animations to be run
in the popping operation. Otherwise, the animations are null and
the operation will not be animated.

Change-Id: I2e132b3890838358e496149f18a25037a59990aa
2011-03-23 09:35:00 -07:00
Adam Powell
1969b87990 Fix bug 4142917 - Add support for specifying a custom home icon in action bar
Add ActionBar methods for setting icon and logo.

Change-Id: I6151689138c734b7212c3469b8ba8f28f0fd5ec4
2011-03-22 14:11:06 -07:00
Joe Onorato
d630f105e8 AsyncTask now uses the poll executor for apps up through HC MR1 and the serialized one after that.
Change-Id: I47d135ace5f8e78e4fa44ac9d1bf7abeeb9d3ba0
2011-03-17 18:42:26 -07:00
Brad Fitzpatrick
b8796212e3 resolved conflicts for merge of ceae9983 to honeycomb-plus-aosp
Change-Id: Ic677e58dcc182908ae1fde33047b3fda013a37c3
2011-03-15 11:54:46 -07:00
Brad Fitzpatrick
ceae99835e am 9a01a2f2: Merge "Fixing self-assignment in cloning code."
* commit '9a01a2f2720632aa9cc230a4ebb0ed7aee762eec':
  Fixing self-assignment in cloning code.
2011-03-15 11:33:40 -07:00
Brad Fitzpatrick
c73c4a36d2 am b37f7e59: Merge changes I81fc2f90,I5e7fd759
* commit 'b37f7e59ee38472bdd3ca5fe66cc847890c862e2':
  Using proper key for removing from map.
  Removing wrong equals method in comparator.
2011-03-15 11:29:56 -07:00
Brad Fitzpatrick
9a01a2f272 Merge "Fixing self-assignment in cloning code." 2011-03-15 11:15:19 -07:00
Brad Fitzpatrick
b37f7e59ee Merge changes I81fc2f90,I5e7fd759
* changes:
  Using proper key for removing from map.
  Removing wrong equals method in comparator.
2011-03-15 10:56:16 -07:00
lge-aosp
06ca9977d4 Fix startSearch condition on Dialog, because pressing search key causes ANR popup.
If search key is pressed on Dialog and there is no search item then do nothing.
How to reproduce the issue:
Settings > About phone > Legal information > Google legal > Press search key > Touch list item or press back key > ANR popup is shown

Change-Id: I9c24d83ca3b7c20976bb7daebeff7fd694ce3a2f
2011-03-15 10:25:57 +09:00
Mike Lockwood
ccdac700df am 78b8e1be: Merge "DO NOT MERGE: backport recent USB accessory changes from honeycomb" into gingerbread
* commit '78b8e1be97c61f7e0b28b145fadd0c646fd1c46b':
  DO NOT MERGE: backport recent USB accessory changes from honeycomb
2011-03-14 13:37:54 -07:00
Mike Lockwood
2cc0377200 DO NOT MERGE: backport recent USB accessory changes from honeycomb
Bug: 4082651

Change-Id: Ie7c2fc796dd3c64f803acbd14210e5949683f4ed
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-03-11 20:02:43 -05:00
Dianne Hackborn
cf407ad88b Fix issues #4087362 and #4087356
4087362: Provide a safer way to call DialogFragment.dismiss()
4087356: PreferenceActivity.invalidateHeaders() can cause
IllegalStateException: Can not perform this action after onSaveInstanceState

These are very safe; the first is just a new public API that
allows you to use an existing feature in DialogFragment, and the
second just uses the version of commit that avoids the failure if
happening at a point where the operation would be lost if restored
from the last state (which is no big deal for preferences).

Change-Id: I53971c9fb1efdcd599694cdcd4585b81afc156b8
2011-03-11 13:48:32 -08:00
Christopher Tate
9b95a4fcdc Broaden the filter for wallpaper restore
Tweak the filter parameters so that we now use any restored wallpaper image
that is larger than our ideal size, and will reject any smaller images only
if they are *much* smaller than our ideal size.  The specific threshold used
here will just barely reject Nexus One or Droid sized wallpapers for restore
onto a Xoom, but will pass anything larger.

Bug 4070129

Change-Id: I889bdb3ef5011343b2fccb2f81c6abc2f4603ee2
2011-03-10 17:53:53 -08:00
Dianne Hackborn
7fd981598e Merge "Fix issue #4066157: ActivityManager.getMemoryClass() returning large memory class" into honeycomb-mr1 2011-03-09 18:00:10 -08:00
Mike Lockwood
9e8e4ea0a8 Merge changes Ib517e5e4,I93be7695,I49bf22a4 into honeycomb-mr1
* changes:
  Close USB dialogs if their corresponding accessory or device has disconnected
  USB: Add API and dialog for apps to request permissions for USB devices and accessories
  UsbService: Automatically use system apps by default if it is the only choice
2011-03-09 03:52:47 -08:00
Mike Lockwood
3a68b8338b USB: Add API and dialog for apps to request permissions for USB devices and accessories
New APIs:

UsbManager.hasPermission returns true if the caller has permission
for the given device or accessory

UsbManager.requestPermission poses a dialog to allow the user to give the caller
permission for the device or accessory.
Result is returned via a PendingIntent.
No dialog is displayed if the caller already has permission.

Also moved UsbResolverActivity to SystemUI package

BUG: 4069037

Change-Id: I93be769501a8776b49ac26e468af19f8fa2114c9
2011-03-08 21:22:19 -05:00
Dianne Hackborn
7ad33c8f9e Fix issue #4066157: ActivityManager.getMemoryClass() returning large memory class
Change-Id: I1970252e07f703087ac96378410ae2b6e6e4c2d3
2011-03-08 15:53:25 -08:00
Andy Stadler
50c294f21b Clarify rules about encryption of emulated storage.
Bug: 3351426
Change-Id: I3a8fcd369862f3eab1781699108e29fe7ab474a0
2011-03-07 19:13:42 -08:00
Vasu Nori
3728130310 bug:3513950 Rename "completedDownload" to "addCompletedDownload"
Change-Id: I28b33a0268309d74fd2512b5bdb599f38ff3a96d
2011-03-07 11:51:14 -08:00
Dianne Hackborn
48f91e35c5 Merge "Fix Fragment.onInflate() to actually work correctly." into honeycomb-mr1 2011-03-03 22:23:07 -08:00
Dianne Hackborn
e3a7f628c6 Fix Fragment.onInflate() to actually work correctly.
Like, um, it needs to be given the Activity since this is called before
the activity is attached.

And it was called after the entire fragment and its *view* was created
when being restored from saved state.

And the documentation was whacked.

Also fix the IME selector to dismiss when you tap outside of it.

Change-Id: Icbcafe7558965a570bdef9cda3441b1f0f7a317c
2011-03-03 22:17:16 -08:00
Svetoslav Ganov
9aa597e68b Propagating core settings to the system process.
bug:3511123

Now the core settins are stored in the ActivityThread
instad in the AppBindData of the currently bound app.
Also the settings are pushed to the system process on
init.

Change-Id: I100bb7dc80d0d4548def22c328427bbef1694eb7
2011-03-03 18:20:43 -08:00
Svetoslav Ganov
11e515cbef NPE in in AppGlobals#getIntCoreSetting
bug:3508658

It ActivityThread#currentActivityThread() is called when
the ActivityThread is not attached it returns null and
AppGlobals#getIntCoreSetting was not checking for that.

Change-Id: I5e00d1947a161ad1e52ecfaa12cbbac3b534a0db
2011-03-03 12:55:59 -08:00
Bjorn Bringert
268c7111f6 Merge "Pass AppData to the app from SearchDialog queries." 2011-03-03 00:18:23 -08:00