Commit Graph

4183 Commits

Author SHA1 Message Date
Abodunrinwa Toki
5925a910f9 Merge "Style floating toolbar." 2015-04-16 10:53:09 +00:00
Benjamin Franz
47af53ed95 Merge "Introduce device owner API to disable the status bar" 2015-04-15 17:22:40 +00:00
Benjamin Franz
ea2ec97f37 Introduce device owner API to disable the status bar
Let the device owner disable the status bar to achieve multi-app single purpose
mode. When the status bar is disabled, quick settings, notifications and the
assist gesture are blocked.

Bug: 19533026
Change-Id: I72830798135136e5edc53e5e2221aebb9a7c7d57
2015-04-15 15:57:14 +01:00
Abodunrinwa Toki
f8e14fd89b Style floating toolbar.
Change-Id: Ib2729992274fc55ce35ffd68d1bed7b02bea89db
2015-04-15 01:58:38 +01:00
Dianne Hackborn
ca25b8768d Merge "Fixes to idle alarm scheduling, package importance." 2015-04-14 18:43:47 +00:00
Dianne Hackborn
1e38382b54 Fixes to idle alarm scheduling, package importance.
- Add new API to ask the activity manager what the current
  importance of a particular package name is (along with a few
  new useful importance levels).

- Fix my last alarm manager change to actually execute the
  alarms we have now decided should run even while we are idle.

Change-Id: I1f14712b4e390770d53b185c96a1b36f6aadd687
2015-04-14 10:01:24 -07:00
Andres Morales
317918e206 Merge changes from topic 'lss-update'
* changes:
  Add challenge to IGateKeeperService
  Wire up GateKeeper to LockSettingsService
2015-04-14 16:12:55 +00:00
Chet Haase
575217fc3d Make ActionBar animations work correctly
Previous ActionBar animations didn't handle configuration changes
or other situations in which the view would get detached. listeners
would stay on the view and would attempt to do something nonsensical
in the new window. This new approach removes listeners on window
detach to avoid this problem.

Issue #20125407 Settings Crashes when changing orientation of device

Change-Id: I0b3bbd0f6fc23cdb4cbd646b0d2772d72d3d795d
2015-04-14 14:09:26 +00:00
Ruchi Kandoi
8f87489beb am 36e53bb8: am 1770f9cf: am 3afca74a: Merge "BatteryStats: Adds an additional condition to avoid ArrayIndexOutOfBounds."
* commit '36e53bb8aa6db4ac101f88a7394f5011643693e2':
  BatteryStats: Adds an additional condition to avoid ArrayIndexOutOfBounds.
2015-04-14 03:01:20 +00:00
Andres Morales
d9fc85ac27 Add challenge to IGateKeeperService
required for enrolling secondary auth form-factors

Change-Id: Id5a1eb1ed22f01fbaabe8e4ebddfc42d58322625
2015-04-13 18:38:45 -07:00
Andres Morales
8fa5665f0e Wire up GateKeeper to LockSettingsService
Adds:
- Communication to GKService
- password upgrade flow
- enroll takes previous credential

Change-Id: I0161b64642be3d0e34ff4a9e6e3ca8569f2d7c0a
2015-04-13 18:38:45 -07:00
Ruchi Kandoi
1770f9cfa5 am 3afca74a: Merge "BatteryStats: Adds an additional condition to avoid ArrayIndexOutOfBounds."
* commit '3afca74a2a40b4e957630909fe5df76aa550da69':
  BatteryStats: Adds an additional condition to avoid ArrayIndexOutOfBounds.
2015-04-14 00:35:03 +00:00
Ruchi Kandoi
3afca74a2a Merge "BatteryStats: Adds an additional condition to avoid ArrayIndexOutOfBounds." 2015-04-14 00:17:14 +00:00
Adam Powell
2442841819 Implement ChooserTargetService querying for ChooserActivity
First cut at querying services provided by apps that offer
ChooserTargetServices. This first implementation provides no ranking.

Bind to a limit of 5 ChooserTargetServices and offer the
ChooserTargets they provide as options in the system
ChooserActivity. The chooser now presents targets as a grid and
displays the activity icon from the referrer activity.

Change-Id: I45db829f184fc78d4f18d42b2a60b25bc301eba8
2015-04-13 16:51:16 -07:00
John Spurlock
cbcf902a4a Merge "Zen: Support external condition providers." 2015-04-13 23:14:04 +00:00
Christopher Tate
9310e4285b Avoid zero-payload backups in local transport
The local debugging transport now implements
BackupTransport.checkFullBackupSize() to detect and reject backup attempts
for which no actual file content will be committed.  The documentation for
checkFullBackupSize() has also been expanded to document the transport's
responsibilities in this regard.

The local transport now lazy-creates the destination file when data is
first delivered for an approved backup operation, rather than doing it
proactively in performBackup(), to ensure that changes in the datastore
are only attempted after the transport has positive confirmation that
data is indeed flowing.

Change-Id: I6e47a7e72cd938fc0ed31da4bc490540c71f9e65
2015-04-13 22:13:23 +00:00
Alan Viverette
0cdd4a93a4 Merge "Fix control alignment for single- and multi-select dialogs" 2015-04-13 19:28:00 +00:00
Alan Viverette
147931e3f9 Merge "Fix date picker dialog size" 2015-04-13 18:13:48 +00:00
John Spurlock
39581cc16d Zen: Support external condition providers.
- Manage provider subscriptions for external condition providers
   within ZenModeConditions.
 - Move "is automatic rule active" check into common location.
 - Add constant for external rule setting configuration page.
 - Consolidate log tags.
 - Reset rule snoozing on boot.

Bug: 20064962
Change-Id: Ida207dbf363f61e1727974e611f43f27c23accfb
2015-04-13 12:12:46 -04:00
Jeff Sharkey
59d577a518 Browse mode for DocumentsUI, removed volume state.
The existing management mode is too specific, and requires that
storage backends add queryChildDocumentsForManage(), etc.  Instead,
to offer more natural browsing support, add a new BROWSE_ROOT intent.

It behaves mostly like MANAGE_ROOT, except that it doesn't mutate
its Uris with setManageMode(), and it shortcuts straight to VIEW on
clicked documents.

It can be launched like this:

$ adb shell am start -a android.provider.action.BROWSE_ROOT
    -d content://com.android.externalstorage.documents/root/8405-1DFB
    -c android.intent.category.DEFAULT

Also rename a MetricsConstants to make it clearer, and don't
auto-mount all emulated volumes.

Fix bugs around parceling of DiskInfo/VolumeInfo.  Method to resolve
the best description for a VolumeInfo, which might need to fall
back to DiskInfo.

Add back "removed" volume state so we send broadcast when a volume
is destroyed, matching the expected public API behavior.

Bug: 19993667
Change-Id: I13aff32c5e11dfc63da44aee9e93a27f4690a43f
2015-04-12 16:03:50 -07:00
Alan Viverette
816aa14202 Fix date picker dialog size
Also fixes date picker instance state restore and cleans up the fade
animations.

Bug: 20110268
Change-Id: I503e2f81253077f22f1619834dc2f2634138ae4e
2015-04-10 15:41:10 -07:00
Adam Lesinski
eaa6a3fba8 Merge "Fix deadlock issue in BatteryStatsHelper." 2015-04-10 21:33:50 +00:00
Adam Lesinski
1739076ef9 Fix deadlock issue in BatteryStatsHelper.
It was assumed that BatteryStatsHelper could safely call into system services.
Because it is used when dumping information from the BatteryStatsService,
this assumption was incorrect.

Now the BatteryStats object carries around the state of the energy reporting
for Bluetooth and WiFi, so BatteryStatsHelper avoids a query into WiFiManager.

b/19729960

Change-Id: I8745cf6aafeea8e862e34fe63b20056f6ba54b40
2015-04-10 13:17:47 -07:00
Chris Wren
250662a4ae Merge "Support ad hoc counters in the framework" 2015-04-10 14:12:25 +00:00
John Spurlock
ec88e8956c Merge "An update on Downtime." 2015-04-10 01:48:06 +00:00
John Spurlock
b2278d6571 An update on Downtime.
The update is that Downtime is obsolete.  Replaced by the
ability to define multiple named schedule calendars.

 - Make changes to ZenModeConfig to properly model manual
   and automatic rules.
 - Refactor the zen mode helper (and supporting classes) to
   properly handle / report multiple claims on zen mode.
   The "manual" rule (specified by the user in the UI) vs
   one or more automatic rules.
 - Automatic rules are still backed by condition providers,
   but the layering is now cleaner.  ConditionProviders is now
   completely generic, has no ties to zen mode.
 - Specifically, the new layering for zen mode (below noman) is:
   ZenModeHelper: Source of truth for zen state
     ZenModeFiltering: Subhelper dedicated to filtering rules.
     ZenModeConditions: Subhelper dedicated to managing automatic rules.
       ConditionProviders:  Underlying engine for reporting named boolean state.
 - Migration story for users with existing downtime config, migrated
   to a single new calendar named downtime.
 - For users with no existing downtime, two default calendars are created
   for weeknights + weekends (icu4j for all locales will be done in a followup).
 - Remove obsolete DowntimeConditionProvider/NextAlarmConditionProvider and tracking.
 - Clean up obsolete resources.
 - Add common zen summary description string computation.
 - Add proper noman wrappers for the new model.
 - Change the semantics of the global zen setting.  It is now read-only.  Setters
   must call noman, added a "reason" to all calls for better attribution.
 - Update zenmodepanel + volumedialog to the new model.
 - Display the one or more automatic rules in the new zen footer summary.
 - "Snooze" the automatic rules when the user explicitly turns zen off.

Bug: 20064962
Change-Id: Idd9deb865a6035ad0cfae660198dccb517e6d7cc
2015-04-09 21:45:08 -04:00
Dianne Hackborn
24f683523e Merge "More work on device idle mode and other power stuff." 2015-04-09 22:35:36 +00:00
Dianne Hackborn
4870e9d5eb More work on device idle mode and other power stuff.
Add idle mode support to the alarm manager.  Introduce
a new concept of flags associated with alarms to tell
the alarm manager how to treat the alarm -- they allow
everything from the alarm that will bring us out of idle
mode, to alarms that are allowed when idle or should
also bring us out of idle.  The standalone boolean is
now also a flag.

(Note there is currently no protection from user space
setting the flags however it wants; I will be working
on that in a follow-up change.)

When in idle mode, the alarm manager pushes all alarms
that shouldn't execute during that time over to a
separate list that is not executed until out of idle.
To help with this, I reworked a bit how Alarm objects
are managed, so that when rebatching or moving between
lists we don't have to allocated new objects but can
just use the same existing instance.

Also tweaked the sync manager to deal with idle mode,
which currently just means doing the same thing as when
low on storage -- turning off sync.

Add new ACTION_CHARGING and ACTION_DISCHARGING broadcasts
that apps can listen for to know when the device is actively
charging and discharging.  These are better than the old
POWER_CONNECTED and POWER_DISCONNECTED ones because we only
report charging when we actually see that there is enough
power being provided to charge the battery (and will report
discharging if there is not enough power).

The job controller uses these new actions for scheduling
jobs that want to run while plugged in.  Removed the
"stable charging" stuff while doing so, since the new
charging state serves as an even better signal for that.

Introduced two new process states: FOREGROUND_SERVICE and
TOP_SLEEPING.  This will allow us to treat foreground services
specially (such as still allowing network access to them for
background music playback) while not mixing them together with
whatever happens to be the top activity while the device is
asleep.

Also some other small cleanup here and there.

Change-Id: I7a9808b578bad6f50deb8e1baf919298512a0d3a
2015-04-09 14:05:17 -07:00
Mike Lockwood
d954fbb967 Merge "Add support for Bluetooth MIDI devices" 2015-04-09 21:02:09 +00:00
Mike Lockwood
427a90c57a Merge "Add support for flushing MIDI all scheduled MIDI events on a port" 2015-04-09 21:01:44 +00:00
Chris Wren
723aa768f6 Support ad hoc counters in the framework
with some examples in NotificationManagerService.

New counters in this CL:
  note_with_people
  note_dismiss_longevity
  note_click_longevity

Bug: 20137009
Change-Id: I10b769ff4872d50f4c1c3828ea519f9712be7bc2
2015-04-09 16:33:06 -04:00
Chris Wren
531d5ab59d Merge "update metrics constants" 2015-04-09 20:13:27 +00:00
Chris Wren
f6b9fe55a8 update metrics constants
Change-Id: I73ea3fe98a3b41b1072688a846ef1c396a9e9a30
2015-04-09 15:39:19 -04:00
Mike Lockwood
f0a41d1c59 Add support for Bluetooth MIDI devices
The Bluetooth MIDI devices are handled in the BluetoothMidiService APK.
Apps wishing to connect to Bluetooth MIDI devices call MidiManager.openBluetoothDevice()
which binds to BluetoothMidiService in a similar way as virtual devices are implemented.

Change-Id: Ie3fbca757928fd7873a009f9bf9e0ce0be487da6
2015-04-09 11:49:51 -07:00
Mike Lockwood
b6f50d357b Add support for flushing MIDI all scheduled MIDI events on a port
Change-Id: I39d7862540d4d4b9e2df1265f9dd253541adb4c2
2015-04-09 11:49:45 -07:00
Abodunrinwa Toki
22e67b55b2 Merge "FloatingToolbar with overflow. -Implemented the toolbar overflow -Refactored a bit to make the concepts clear and component easier to understand and maintain -Floating toolbar now uses a clipped popup window that allows touch events to go through the transparent parts" 2015-04-09 15:04:41 +00:00
Richard Uhler
a1b19b7b66 am 00ff42a0: am 7f757130: am f324d245: Merge "Reuse dexopt method for both dex2oat and patchoat."
* commit '00ff42a0ca9d17c4b7ee89d900cf86c9a25c00eb':
  Reuse dexopt method for both dex2oat and patchoat.
2015-04-09 14:51:13 +00:00
Richard Uhler
7f7571308d am f324d245: Merge "Reuse dexopt method for both dex2oat and patchoat."
* commit 'f324d245fdd07ac14ab312d1a5fa04a4e8dfcceb':
  Reuse dexopt method for both dex2oat and patchoat.
2015-04-09 14:31:10 +00:00
Richard Uhler
f324d245fd Merge "Reuse dexopt method for both dex2oat and patchoat." 2015-04-09 14:13:29 +00:00
Abodunrinwa Toki
517adad1c4 FloatingToolbar with overflow.
-Implemented the toolbar overflow
-Refactored a bit to make the concepts clear and component easier to understand and maintain
-Floating toolbar now uses a clipped popup window that allows touch events to go through the transparent parts

Change-Id: I84794e45a8a10f004654550fe976585f9e62bdb5
2015-04-09 14:42:23 +01:00
Alan Viverette
8990083b19 Fix control alignment for single- and multi-select dialogs
Clean up some code in AlertController.

Change-Id: I0e4978c4c14dd838188cb23565eb231903c82afe
2015-04-08 12:45:54 -07:00
Benjamin Franz
f63afe7b33 Merge "Allow disabling the lock screen when multiple users are present" 2015-04-08 15:02:43 +00:00
Clara Bayarri
2f92e9710a Merge "Floating toolbar: Create the FloatingActionMode and use it in DecorView." 2015-04-08 08:00:01 +00:00
Adam Lesinski
e08af19fcc Adding per UID WiFi power distribution.
Change-Id: I88c539074607d7261f6c5cf1dbae47c3cf53f253
2015-04-07 11:37:10 -07:00
Dmitriy Ivanov
aa94389ba2 am d95e58cb: Merge "Load libraries directly from apk"
* commit 'd95e58cb609228c4c4b231e00d6bb648e9dcaf71':
  Load libraries directly from apk
2015-04-07 17:49:12 +00:00
Dmitriy Ivanov
d95e58cb60 Merge "Load libraries directly from apk" 2015-04-07 17:28:15 +00:00
Dmitriy Ivanov
dec4688f40 Load libraries directly from apk
Introduced new 'extractNativeLibs' attribute to manifest/application.
 Setting it to false prevents installer from extracting library from apk.

 The default value for extractNativeLibs is true.

Bug: 8076853
(cherry picked from commit ff193d642e)
Change-Id: I1aa2c039bb2a590ae72f256acc9ba5401c2c59b1
2015-04-07 17:25:23 +00:00
Benjamin Franz
51ed794e2f Allow disabling the lock screen when multiple users are present
Disallowing disabling the lock screen when multiple switchable users
are present on the device was a legacy from the time when the lock
screen was the only way of switching between users. As we offer other
ways to switch users now, e.g. quick settings, we no longer need this
check.

Also introduce a per user version of disabling the lock screen.

Bug: 19962043
Change-Id: I131568a5dadd1706762b8a626e8f9b06e973b7ae
2015-04-07 16:34:56 +01:00
Narayan Kamath
9d1878674c Merge "Don't set userSetLocale from Configuration.setLocale." 2015-04-07 13:08:18 +00:00
Clara Bayarri
838e36cda7 Floating toolbar: Create the FloatingActionMode and use it in DecorView.
This CL
- Creates a new FloatingActionMode
- Uses it for action mode requests of type floating
- Plumbs in the positioning invalidation logic

Change-Id: I379de5b0a87b256946d0a6d8014299cfb78e6734
2015-04-07 11:24:06 +01:00