1. 14 Oct, 2011 1 commit
  2. 06 Oct, 2011 1 commit
  3. 05 Oct, 2011 3 commits
  4. 22 Sep, 2011 1 commit
  5. 15 Sep, 2011 1 commit
    • Ying Wang's avatar
      Use the correct dependency · b1f57728
      Ying Wang authored
      $(LOCAL_BUILT_MODULE) of the module framework points to a
      product-specific file (required by dex-preopt), which is nuked by installclean.
      While the result of $(java-lib-deps) points to a file in the common
      directory.
      
      This change reduces the incremental build time significantly:
      It takes around 7 minutes to run "make instalclean && make" without this
      change v.s. 3 minutes with this change.
      So it will save lots of build time when switching between user, userdebug
      and eng builds on the build server.
      
      Change-Id: I832bafca04677af561bb0c28e2e0260f633b96a1
      b1f57728
  6. 09 Sep, 2011 1 commit
  7. 23 Aug, 2011 1 commit
    • Jean-Michel Trivi's avatar
      Bug 5045498 New implementation of remote control API · 4426e42a
      Jean-Michel Trivi authored
      Remote control displays expose an IRemoteControlDisplay interface
       which they register through AudioManager.
      Remote control clients create a RemoteControlClient object, which
       implicitely exposes an IRemoteControlClient interface registered
       in AudioService through AudioManager.
      AudioService tells all clients and displays when a new client
       is the one that should be displayed.
      A client's data gets sent to the display when it is valid, or
       it sets new data (while being valid).
      
      The implementation for setting metadata and album art is temporary,
       and will migrate to the MetadataEditor API in future CLs.
      
      Change-Id: Ibab6ea1d94c68f32482c760c6ae269541f885548
      4426e42a
  8. 17 Aug, 2011 1 commit
  9. 04 Aug, 2011 1 commit
  10. 03 Aug, 2011 1 commit
    • Jean-Michel Trivi's avatar
      Remote control display API and implementation · 8f619182
      Jean-Michel Trivi authored
      Extend the media button event registration AudioManager API to
       enable applications to register as a client of "remote controls"
       and let them provide information meant to be displayed
       by the remotes.
      AudioService sends a AudioManager.REMOTE_CONTROL_CLIENT_CHANGED
       intent to let remote controls know when / from whom they can
       retrieve the information to display.
      Only application that own audio focus, are the currently
       registered media button event receiver, and have registered
       a remote control client, are eligible to appear on the
       remote control.
      
      To address in future CLs:
      - change how a remote control client forces a refresh
      - rename methods called under lock to ___Locked()
      - make API public
      
      Change-Id: Icca30ab05dac2605ee9246f8acb27a03dcea077a
      8f619182
  11. 02 Aug, 2011 1 commit
  12. 28 Jul, 2011 1 commit
  13. 27 Jul, 2011 1 commit
  14. 26 Jul, 2011 1 commit
  15. 24 Jul, 2011 1 commit
    • repo sync's avatar
      Updated: Wi-Fi p2p framework · 55bc5f3e
      repo sync authored
      First stage. Get the bones in right now even though
      we are not ready on the native side.
      
      Once, we have things underneath working - we will further update the
      framework
      
      Change-Id: I4a7dab5cd4267373dc5f8989ae4122f91c384ed5
      55bc5f3e
  16. 22 Jul, 2011 1 commit
    • satok's avatar
      Create TextServiceManager and SpellCheckerService · 988323c5
      satok authored
      Bug: 4176026
      
      This CL inherits https://android-git.corp.google.com/g/112600
      
      Spec of TextServiceManager
      - Chooses the most applicable TextService(e.g. SpellCheckerService, WordBreakIteratorService..)
          for each locale
      
      Spec of SpellCheckerService
      - Returns whether the given string is a correct word or not
      - Returns Suggestions for the given string
      
      Change-Id: Iaa425c7915fe70767ad0b17bf6c6fbcd2a1200b2
      988323c5
  17. 08 Jul, 2011 1 commit
  18. 03 Jul, 2011 1 commit
  19. 24 Jun, 2011 1 commit
    • Jaikumar Ganesh's avatar
      Implement APIs for Bluetooth Health profile. · 2ea1e85d
      Jaikumar Ganesh authored
      This first patch implements all the APIs.
      The APIs wil be made public soon. The data specification
      API will be submited in another patchset.
      Change-Id: I2462683b7e07380e2c42474b0036b34d03b4bed1
      2ea1e85d
  20. 23 Jun, 2011 1 commit
  21. 22 Jun, 2011 1 commit
  22. 21 Jun, 2011 1 commit
  23. 20 Jun, 2011 1 commit
    • satok's avatar
      Create TextServiceManager and SpellCheckerService · eaddb894
      satok authored
      Bug: 4176026
      
      Spec of TextServiceManager
      - Chooses the most applicable TextService(e.g. SpellCheckerService, WordBreakIteratorService..)
          for each locale
      
      Spec of SpellCheckerService
      - Returns whether the given string is a correct word or not
      - Returns Suggestions for the given string
      
      Change-Id: Ia25e7b4f308778891929e31b8cbd741f6848cce4
      eaddb894
  24. 16 Jun, 2011 1 commit
    • Dianne Hackborn's avatar
      SDK only: integrate new sample code, deprecating along the way. · 2f04883f
      Dianne Hackborn authored
      The new support library features and sample code for switching
      between fragments using a TabHost now eliminates the utility of
      the TabActivity class, so deprecate it.  This also means there is
      no longer any use in ActivityGroup or LocalActivityManager.  Yay.
      
      Also fix up things so the new support API demos are included in
      the documentation.
      
      Change-Id: I4f073b82787f32560ba1fa5b6a23746ecc8aecdc
      2f04883f
  25. 10 Jun, 2011 1 commit
  26. 07 Jun, 2011 2 commits
    • Bruno Oliveira's avatar
      Integrating RandomMusicPlayer sample into tree. · 9e67587d
      Bruno Oliveira authored
      This is a cherrypick of CL 112174 (originally written for
      honeycomb-mr1) into the honeycomb-mr2 branch. Original CL:
      https://android-git.corp.google.com/g/#change,112174
      
      Patch Set 2: ammending to fix spaces in title (as suggsted by smain@)
      
      Change-Id: I1c6e2f4f3585bb65f9f87342445e21f27bed242d
      9e67587d
    • Svetoslav Ganov's avatar
      Interrogation of the view hierarchy from an AccessibilityService. · 8643aa01
      Svetoslav Ganov authored
      1. Views are represented as AccessibilityNodeInfos to AccessibilityServices.
      
      2. An accessibility service receives AccessibilityEvents and can ask
         for its source and gets an AccessibilityNodeInfo which can be used
         to get its parent and children infos and so on.
      
      3. AccessibilityNodeInfo contains some attributes and actions that
         can be performed on the source.
      
      4. AccessibilityService can request the system to preform an action
         on the source of an AccessibilityNodeInfo.
      
      5. ViewAncestor provides an interaction connection to the
         AccessibiltyManagerService and an accessibility service uses
         its connection to the latter to interact with screen content.
      
      6. AccessibilityService can interact ONLY with the focused window
         and all calls are routed through the AccessibilityManagerService
         which imposes security.
      
      7. Hidden APIs on AccessibilityService can find AccessibilityNodeInfos
         based on some criteria. These API go through the AccessibilityManagerServcie
         for security check.
      
      8. Some actions are hidden and are exposes only to eng builds for UI testing.
      
      Change-Id: Ie34fa4219f350eb3f4f6f9f45b24f709bd98783c
      8643aa01
  27. 02 Jun, 2011 2 commits
    • Jeff Sharkey's avatar
      Collect historical network stats. · 75279904
      Jeff Sharkey authored
      Periodically records delta network traffic into historical buckets to
      support other services, such NetworkPolicyManager and Settings UI.
      
      Introduces NetworkStatsHistory structure which contains sparse, uniform
      buckets of data usage defined by timestamps.  Service periodically
      polls NetworkStats and records changes into buckets.  It only persists
      to disk when substantial changes have occured.  Current parameters
      create 4 buckets each day, and persist for 90 days, resulting in about
      8kB of data per network.
      
      Only records stats for "well known" network interfaces that have been
      claimed by Telephony or Wi-Fi subsystems.  Historical stats are also
      keyed off identity (such as IMSI) to support SIM swapping.
      
      Change-Id: Ia27d1289556a2bf9545fbc4f3b789425a01be53a
      75279904
    • Jeff Sharkey's avatar
      Policy and rules work for ConnectivityManager. · c006f1ae
      Jeff Sharkey authored
      Teach ConnectivityManager about UID-specific rules derived from policy,
      such as rejecting network traffic on "paid" interfaces.  Calls that
      return NetworkInfo now filter based on any REJECT rules in effect for
      the calling UID.  (Added uid parameter if callers that still want all
      interfaces.)
      
      Changed NetworkPolicyManager to derive rules based on current policy
      combined with PowerManager and ActivityManager status, which it passes
      to ConnectivityService for eventual enforcement through netd.  When
      rules change the usability of a NetworkInfo for a specific UID, it also
      dispatches CONNECTIVITY_ACTION broadcasts to that UID.  Combined paid
      and background policy together to match current working definition.
      
      Change-Id: I797ea49439fcc487cfe2cbc16703d4b91ceb9af6
      c006f1ae
  28. 25 May, 2011 1 commit
  29. 24 May, 2011 2 commits
    • Jason parks's avatar
      Add public API to do NDEF push. · 01425365
      Jason parks authored
      Change-Id: I102da9bbc6d78577a26fa03ee363a60abc389d6c
      01425365
    • Jeff Sharkey's avatar
      Observe screen on/off events in NetworkPolicy. · a4620793
      Jeff Sharkey authored
      The POLICY_REJECT_BACKGROUND policy requires that network traffic be
      blocked when a UID goes into the background.  Even if the UID has an
      activity in the foreground, it's considered "background" if the screen
      is turned off.
      
      This changes watches for SCREEN_ON/OFF broadcasts, and rule generation
      now observes screen state.  It also introduces an observer pattern so
      that ActivityManager doesn't directly know about NetworkPolicy, and
      moves the service management into SystemServer.
      
      Change-Id: Ie7a84929d3ca60ae4578d47e19d5a8da10fd8d58
      a4620793
  30. 19 May, 2011 1 commit
  31. 18 May, 2011 1 commit
  32. 13 May, 2011 1 commit
    • Jeff Sharkey's avatar
      First pass at NetworkPolicy and activity tracking. · d5cdd597
      Jeff Sharkey authored
      New system service that maintains low-level network policy rules and
      collects statistics to drive those rules.  Will eventually connect to
      netfilter kernel module through NetworkManagementService and "netd".
      
      Begin tracking foreground activities in ActivityManagerService, which
      is updated as part of OOM adjustment.  Eventually a network policy of
      POLICY_REJECT_BACKGROUND will reject network traffic from background
      processes.
      
      Change-Id: I5ffbbaee1b9628e9c3eff6b9cb2145fc5316e64d
      d5cdd597
  33. 11 May, 2011 1 commit
    • Christopher Tate's avatar
      Full local backup infrastructure · 4a627c71
      Christopher Tate authored
      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
      4a627c71
  34. 05 May, 2011 1 commit
  35. 03 May, 2011 1 commit