summaryrefslogtreecommitdiffstats
path: root/cmds
Commit message (Collapse)AuthorAgeFilesLines
* Merge "Add force-stop subcommand for 'am'."Dianne Hackborn2011-06-061-1/+9
|\
| * Add force-stop subcommand for 'am'.Xianzhu Wang2011-05-271-1/+9
| | | | | | | | | | | | | | | | | | It's useful for some testing and debugging, to ensure all processes are stopped before testing. 'kill' doesn't always work because sometimes the system will restart the process immediately (e.g. if an app is running in background). Change-Id: I2c0caa38f74ee65ad6c35172fbf505227be7e7c3
* | KeyStore.reset changesBrian Carlstrom2011-06-021-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | restore keystore reset behavior of removing master key. otherwise after reboot keystore has is LOCKED and not UNINITIALIZED cmds/keystore/keystore.cpp when removing password, reset the keystore, so it doesn't remain locked with a now bogus password. core/java/com/android/internal/widget/LockPatternUtils.java Change-Id: If5e0bb50b42599e9ca27a8b91d6cec12528419a1
* | Merge "Restore from a previous full backup's tarfile"Christopher Tate2011-06-011-9/+15
|\ \
| * | Restore from a previous full backup's tarfileChristopher Tate2011-06-011-9/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Usage: adb restore [tarfilename] Restores app data [and installs the apps if necessary from the backup file] captured in a previous invocation of 'adb backup'. The user must explicitly acknowledge the action on-device before it is allowed to proceed; this prevents any "invisible" pushes of content from the host to the device. Known issues: * The settings databases and wallpaper are saved/restored, but lots of other system state is not yet captured in the full backup. This means that for practical purposes this is usable for 3rd party apps at present but not for full-system cloning/imaging. Change-Id: I0c748b645845e7c9178e30bf142857861a64efd3
* | | Integrating keystore with keyguard (Part 1 of 4)Brian Carlstrom2011-06-015-621/+851
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: frameworks/base keystore rewrite keyguard integration with keystore on keyguard entry or keyguard change KeyStore API simplification packages/apps/Settings Removed com.android.credentials.SET_PASSWORD intent support Added keyguard requirement for keystore use packages/apps/CertInstaller Tracking KeyStore API changes Fix for NPE in CertInstaller when certificate lacks basic constraints packages/apps/KeyChain Tracking KeyStore API changes Details: frameworks/base Move keystore from C to C++ while rewriting password implementation. Removed global variables. Added many comments. cmds/keystore/Android.mk cmds/keystore/keystore.h cmds/keystore/keystore.c => cmds/keystore/keystore.cpp cmds/keystore/keystore_cli.c => cmds/keystore/keystore_cli.cpp Changed saveLockPattern and saveLockPassword to notify the keystore on changes so that the keystore master key can be reencrypted when the keyguard changes. core/java/com/android/internal/widget/LockPatternUtils.java Changed unlock screens to pass values for keystore unlock or initialization policy/src/com/android/internal/policy/impl/PasswordUnlockScreen.java policy/src/com/android/internal/policy/impl/PatternUnlockScreen.java KeyStore API changes - renamed test() to state(), which now return a State enum - made APIs with byte[] key arguments private - added new KeyStore.isEmpty used to determine if a keyguard is required keystore/java/android/security/KeyStore.java In addition to tracking KeyStore API changes, added new testIsEmpty and improved some existing tests to validate expect values. keystore/tests/src/android/security/KeyStoreTest.java packages/apps/Settings Removing com.android.credentials.SET_PASSWORD intent with the removal of the ability to set an explicit keystore password now that the keyguard value is used. Changed to ensure keyguard is enabled for keystore install or unlock. Cleaned up interwoven dialog handing into discrete dialog helper classes. AndroidManifest.xml src/com/android/settings/CredentialStorage.java Remove layout for entering new password res/layout/credentials_dialog.xml Remove enable credentials checkbox res/xml/security_settings_misc.xml src/com/android/settings/SecuritySettings.java Added ability to specify minimum quality key to ChooseLockGeneric Activity. Used by CredentialStorage, but could also be used by CryptKeeperSettings. Changed ChooseLockGeneric to understand minimum quality for keystore in addition to DPM and device encryption. src/com/android/settings/ChooseLockGeneric.java Changed to use getActivePasswordQuality from getKeyguardStoredPasswordQuality based on experience in CredentialStorage. Removed bogus class javadoc. src/com/android/settings/CryptKeeperSettings.java Tracking KeyStore API changes src/com/android/settings/vpn/VpnSettings.java src/com/android/settings/wifi/WifiSettings.java Removing now unused string resources res/values-af/strings.xml res/values-am/strings.xml res/values-ar/strings.xml res/values-bg/strings.xml res/values-ca/strings.xml res/values-cs/strings.xml res/values-da/strings.xml res/values-de/strings.xml res/values-el/strings.xml res/values-en-rGB/strings.xml res/values-es-rUS/strings.xml res/values-es/strings.xml res/values-fa/strings.xml res/values-fi/strings.xml res/values-fr/strings.xml res/values-hr/strings.xml res/values-hu/strings.xml res/values-in/strings.xml res/values-it/strings.xml res/values-iw/strings.xml res/values-ja/strings.xml res/values-ko/strings.xml res/values-lt/strings.xml res/values-lv/strings.xml res/values-ms/strings.xml res/values-nb/strings.xml res/values-nl/strings.xml res/values-pl/strings.xml res/values-pt-rPT/strings.xml res/values-pt/strings.xml res/values-rm/strings.xml res/values-ro/strings.xml res/values-ru/strings.xml res/values-sk/strings.xml res/values-sl/strings.xml res/values-sr/strings.xml res/values-sv/strings.xml res/values-sw/strings.xml res/values-th/strings.xml res/values-tl/strings.xml res/values-tr/strings.xml res/values-uk/strings.xml res/values-vi/strings.xml res/values-zh-rCN/strings.xml res/values-zh-rTW/strings.xml res/values-zu/strings.xml res/values/strings.xml packages/apps/CertInstaller Tracking KeyStore API changes src/com/android/certinstaller/CertInstaller.java Fix for NPE in CertInstaller when certificate lacks basic constraints src/com/android/certinstaller/CredentialHelper.java packages/apps/KeyChain Tracking KeyStore API changes src/com/android/keychain/KeyChainActivity.java src/com/android/keychain/KeyChainService.java support/src/com/android/keychain/tests/support/IKeyChainServiceTestSupport.aidl support/src/com/android/keychain/tests/support/KeyChainServiceTestSupport.java tests/src/com/android/keychain/tests/KeyChainServiceTest.java Change-Id: Ic141fb5d4b43d12fe62cb1e29c7cbd891b4be35d
* | sensorservice can now be ran standaloneMathias Agopian2011-05-273-2/+49
|/ | | | Change-Id: I6e757f31f1e020046038e5ab84e71b8689a0aed3
* Extract embedded cover art (aka poster frame) in mp4 filesJames Dong2011-05-261-4/+11
| | | | Change-Id: Ic9421ee27b9aa3b27df00878b887de20f25d232b
* Support wrapping app processes to inject debug instrumentation.Jeff Brown2011-05-242-31/+42
| | | | | | Bug: 4437846 Change-Id: I4552501c693716b14714afb5c5248edaca9547ab
* resolved conflicts for merge of b2d0ee16 to masterKenny Root2011-05-191-1/+19
|\ | | | | | | Change-Id: I4483a6d0ccecfea4a1e66bb6eba80d13e8b9a3a4
| * resolved conflicts for merge of 2433c443 to honeycomb-plus-aospKenny Root2011-05-191-2/+19
| |\ | | | | | | | | | Change-Id: I3385f57e5761679e6700bcbe3c41deb3ecd43ba1
| | * am f2006f31: Merge "Break apart queries to getInstalled* API" into gingerbreadKenny Root2011-05-191-2/+19
| | |\ | | | | | | | | | | | | | | | | * commit 'f2006f3123dcdf598e052051041b49c89710b53e': Break apart queries to getInstalled* API
| | | * Break apart queries to getInstalled* APIKenny Root2011-04-191-2/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To avoid blowing past the Binder IPC limit, change the PackageManagerService to have a DB-like interaction where the client tells the service the last "row" that it read. The fact that we use a HashMap instead of a TreeMap makes this problematic. For now we're just making a new ArrayList for the keys and then sorting them for each call. This can make the API slower for callers of this, but it's probably greatly overshadowed by the cost of the data transfer itself. Bug: 4064282 Change-Id: Ic370fd148d4c3813ae4f2daffa1a7c28d63d5a09
| | * | merge 83fdc69e from gingerbread - do not mergeJean-Baptiste Queru2011-01-141-7/+5
| | |\ \ | | | |/ | | | | | | | | Change-Id: Ib1e9e12244a44f75a93d66142e71915de6386680
| | | * Squash commits of the following patches, cherry-picked from other branch - ↵James Dong2011-01-121-7/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | do not merge. o Prepare for publishing MediaMetadataRetriever as public API step one: o replaced captureFrame with getFrameAtTime o removed getMode o Replace MediaMetadataRetriever.captureFrame() with MediaMetadataRetriever.getFrameAtTime() as part of the preparation for publishing MediaMetadataRetriever as public Java API o Remove captureFrame from MediaMetadataRetriever.java class It has been replaced by getFrameAtTime() method o Replace extractAlbumArt() with getEmbeddedPicture() in MediaMetadataRetriever.java o Publish MediaMetadataRetriever.java as public API o Removed setMode() methods and related mode constants o Removed some of the unused the metadata keys o Updated the javadoc o part of a multi-project change. bug - 3309041 Change-Id: I2efb6e8b8d52897186b016cb4efda6862f5584c4
| | * | am 6ec91731: DO NOT MERGE : Permission fix: don\'t require BACKUP perm for ↵Chris Tate2011-01-091-6/+3
| | |\ \ | | | |/ | | | | | | | | | | | | | | | | | | | | self-restores * commit '6ec91731cbf6ee1a9a914d341fab9567d1599018': DO NOT MERGE : Permission fix: don't require BACKUP perm for self-restores
| | | * DO NOT MERGE : Permission fix: don't require BACKUP perm for self-restoresChris Tate2011-01-091-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The public API is not supposed to require the BACKUP permission in order for an application to restore its own last-known-good backup data. However, as currently implemented, BackupManager.requestRestore() [the public API in question] depends on private Backup Manager methods that *do* enforce that permission. The net result is that the method cannot be successfully used by third party applications: it will throw an exception if attempted. This CL restructures the permission checking involved. First, the underlying beginRestoreSession() operation can now be passed a 'null' transport name; if this is done, then the restore session is begun on whatever the currently-active transport is. Looking up the name of the active transport is one of the permission-guarded actions that was required with the initial implementation. Second, a package name can now be passed to beginRestoreSession(). If this is done, then the restore session can only be used to perform a single-package restore of that one application. The BACKUP permission is not required if the caller is tying the restore to its own package name. In combination, these changes permit BackupManager.requestRestore() to function without the calling app needing to hold any special permission. The no-permission case is intentionally quite narrow: the caller must hold the permission unless they both (a) pass 'null' for the transport name, thereby accepting whatever the currently active transport is, and (b) pass their own package name to restrict the restore session only to their own app. External bug http://code.google.com/p/android/issues/detail?id=10094 Internal bug 3197202 (Cherrypick from master to gingerbread) Change-Id: Ie20b0bd2420345ce6eda178f854680b558f6372a
| | * | am cd23823d: Merge "Fix issue # 3227963: SecurityException: Neither user ↵Dianne Hackborn2011-01-091-0/+59
| | |\ \ | | | |/ | | | | | | | | | | | | | | | | | | | | 10023 nor..." into gingerbread * commit 'cd23823d4f533431c76baa104eb50b7803b3b391': Fix issue # 3227963: SecurityException: Neither user 10023 nor...
* | | | dumpstate: don't attempt to use vril-dump, it breaks adb bugreportJP Abgrall2011-05-171-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | http://b/4442803 vril-dump's usage of adb causes bugreport to hang lcm-dump.sh re-uses adb which breaks. Change-Id: I5eeb30f78793c0a6d10bfaf0097d6aa7b811cf66 Signed-off-by: JP Abgrall <jpa@google.com>
* | | | am b68c768d: am 41744836: am 7916ac65: Add new command line option to change ↵Dianne Hackborn2011-05-161-0/+52
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | global screen size. * commit 'b68c768ddb57407bc253230c677056329c9e4bae': Add new command line option to change global screen size.
| * | | am 7916ac65: Add new command line option to change global screen size.Dianne Hackborn2011-05-161-0/+52
| |\ \ \ | | | | | | | | | | | | | | | | | | | | * commit '7916ac65dc492e4e1431879875c77d7121fbf82e': Add new command line option to change global screen size.
| | * | | Add new command line option to change global screen size.Dianne Hackborn2011-05-161-0/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For example: adb shell am display-size 1024x600 Change-Id: I5df462acd3323bdaaaefa3126faea7dd8595b726
| * | | | am 700ab1c7: Merge "DO NOT MERGE. Integrate from master: Improve activity ↵Dianne Hackborn2011-05-161-3/+8
| |\ \ \ \ | | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | manager debug dumps." into honeycomb-mr2 * commit '700ab1c75862babba90f54e02bdc877becd4f4fc': DO NOT MERGE. Integrate from master: Improve activity manager debug dumps.
| | * | | DO NOT MERGE. Integrate from master: Improve activity manager debug dumps.Dianne Hackborn2011-05-131-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: I99447b87f77a701af52aeca984d93dfe931f065d
* | | | | bu - add handling for both 'backup' and 'restore' modesChristopher Tate2011-05-161-13/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Requires a parallel change in adb to support the new syntax. Change-Id: Iff30cb247e424b6817af121c018f3c4e40b9f81a
* | | | | am 7a2a87d6: am a1c29d30: Merge "Support for Vendor RIL dump of baseband ↵Wink Saville2011-05-151-0/+7
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | logs" into honeycomb-LTE * commit '7a2a87d6457885c5d3d4dbf335be101aa9c5c3ab': Support for Vendor RIL dump of baseband logs
| * | | | Support for Vendor RIL dump of baseband logsJohn Michelau2011-05-141-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added hook for Vendor RIL to provide a dump of the underlying baseband's logs. The Vendor RIL must implement the actual executable that does the capture. Change-Id: I40fdf2ccc4bb14a9cef92b7866fad19684502524
* | | | | Merge "resolved conflicts for merge of 0e59729b to master"Dianne Hackborn2011-05-122-5/+19
|\ \ \ \ \
| * \ \ \ \ resolved conflicts for merge of 0e59729b to masterDianne Hackborn2011-05-122-5/+19
| |\ \ \ \ \ | | |/ / / / | | | | | | | | | | | | Change-Id: I2d3a6bddf66b1df0c101c45ea2fec1cf65caf01b
| | * | | | am 0f1de9ad: New compat mode front end: UI and persistence.Dianne Hackborn2011-05-122-5/+19
| | |\ \ \ \ | | | |/ / / | | | | | | | | | | | | | | | | | | * commit '0f1de9adde0b52d2a385a76232bd7ac30c3eeea2': New compat mode front end: UI and persistence.
| | | * | | New compat mode front end: UI and persistence.Dianne Hackborn2011-05-122-5/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds a really crappy UI for toggling compat mode. Persists compat mode selection across boots. Turns on compat mode by default for newly installed apps. Change-Id: Idc83494397bd17c41450bc9e9a05e4386c509399
* | | | | | update for new audio.h header locationDima Zavin2011-05-121-1/+1
|/ / / / / | | | | | | | | | | | | | | | | | | | | Change-Id: Ic4c62c4037800802427eb7d3c7f5eb8b25d18876 Signed-off-by: Dima Zavin <dima@android.com>
* | | | | Full local backup infrastructureChristopher Tate2011-05-105-8/+325
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | resolved conflicts for merge of 05be6d6f to masterDianne Hackborn2011-05-091-0/+27
|\ \ \ \ \ | |/ / / / | | | | | | | | | | Change-Id: Ic6a6c5bb300f6f1d43f9ed550b284282b4f16212
| * | | | am 0c6cbf41: Merge "Better compat mode part one: start scaling windows." ↵Dianne Hackborn2011-05-091-0/+27
| |\ \ \ \ | | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | into honeycomb-mr2 * commit '0c6cbf410a642f6e9cea7cca0a6e53a4a3cdd324': Better compat mode part one: start scaling windows.
| | * | | Better compat mode part one: start scaling windows.Dianne Hackborn2011-05-091-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | clear boot-animation background with black (not transparent) pixelsMathias Agopian2011-05-061-0/+2
| | | | | | | | | | | | | | | | | | | | Change-Id: I2fcf9f303e8324cefaa2d96f1c46647f70980bb2
* | | | | am 67c92fbd: am 5f2ff42b: Add data to bugreports.Robert Greenwalt2011-04-291-0/+3
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | * commit '67c92fbdfe52a94804f021c2255132c0f3550875': Add data to bugreports.
| * | | | Add data to bugreports.Robert Greenwalt2011-04-291-0/+3
| |/ / / | | | | | | | | | | | | | | | | | | | | Include IPv6 routes and iptables data. Change-Id: Ie9bca8a935f93933082eef0c45f83a17be76b7ed
* | | | audio/media: convert to using the audio HAL and new audio defsDima Zavin2011-04-271-2/+4
| | | | | | | | | | | | | | | | | | | | Change-Id: Ibc637918637329e4f2b62f4ac7781102fbc269f5 Signed-off-by: Dima Zavin <dima@android.com>
* | | | Get rid of the "pid" parameter from createSurfaceMathias Agopian2011-04-203-3/+1
| | | | | | | | | | | | | | | | Change-Id: I28635e3f803e6abe965d79998e305f54a202465d
* | | | Merge "Plumbing in PackageManager and installd for multi-user support."Amith Yamasani2011-04-195-15/+249
|\ \ \ \
| * | | | Plumbing in PackageManager and installd for multi-user support.Amith Yamasani2011-04-155-15/+249
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
* | | | | Merge "Make installd resistant to umask changes."Nick Kralevich2011-04-191-0/+11
|\ \ \ \ \
| * | | | | Make installd resistant to umask changes.Nick Kralevich2011-04-141-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 3272072 Change-Id: Ic2d241afcb4d0dabd63fcdadf13b2d48b7f398e8
* | | | | | Replace a custom AndroidRuntime::findClass with a more targeted fix.Elliott Hughes2011-04-133-49/+79
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This seems simpler and more contained, and I think the comment explaining why hoop-jumping is necessary is a bit clearer now. Change-Id: Ief4afd7cbb42188ed835fce23e497520bdb753a8
* | | | | - Add another parameter in notify() to be able to send timed text sampleGloria Wang2011-04-131-1/+1
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | through listener during video playback. - Add OnTimedTextListener in the MediaPlayer For feature request 800939. Change-Id: I65072c27acb4c0037109a72be38c73e9f667420f
* | | | Add keychain user with special keystore access permissionsBrian Carlstrom2011-04-081-0/+1
| | | | | | | | | | | | | | | | Change-Id: I02fe5171add62c5cd9f57b01bc137f3bc1cb3a69
* | | | Improve activity manager debug dumps.Dianne Hackborn2011-04-071-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | Update installd to allow multiuserKenny Root2011-04-057-88/+850
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add ability to select different personas to generate the path to be created. * Move hardcoded paths to read from init's set environment. * Add unit tests for all the utility functions that build strings to make sure they're correct. * Fill in persona with "0" all the time now. Will be plumbed through in later CL. Change-Id: I0a7f6e3640cb6b052f8823080886ee79e90b679f