Commit Graph

2226 Commits

Author SHA1 Message Date
Jean-Michel Trivi
37fde0aca0 Unhide KeyguardManager locked and secure state getters
Unhide the following methods:
  android.app.KeyguardManager.isKeyguardLocked()
  android.app.KeyguardManager.isKeyguardSecure()

Fix some javadoc typos

Change-Id: Iedcd9f6a5261b7a3b47431edff013f629e1dc45d
2012-05-24 18:09:44 -07:00
Chris Wren
3745a3da75 BigPicture notifications for screenshots.
Needed a little extra help from the builder to make this
happen (like the title, you might want a different largeIcon
in the expanded view if---as in this case---it is redundant
with the big picture).

Needed to fix BigPicture template to reveal actions.

Bug: 6289107
Change-Id: I19dc62e693ee2c87cbe82f7327fe9115768b4102
2012-05-22 17:47:33 -04:00
Daniel Sandler
c40a7fe002 Merge "Fix three-line notifications." into jb-dev 2012-05-22 08:17:29 -07:00
Daniel Sandler
9f7936a30b Fix three-line notifications.
To accommodate three lines as before, we now adjust the size
of text and icons to fit.

Also in this change:

 - snazzy little shadow below BigPicture's 1U block
 - restore contentText to BigPicture notifications
 - make overflow match other notification text (not so big)
 - fix text position jumps between 1U and expanded
   notifications across all templates

Bug: 6519374 (three-line notifications cut off)
Bug: 6494982 (text jumps)
Change-Id: I717ec2dde805c25e3b949641ca7e69e4d8fc86d2
2012-05-21 16:45:11 -04:00
Romain Guy
13b907353f Remove unused, obsolete debug code
All these features have either been abandonned and left un-maintained
for years or can be replaced by systrace.

Change-Id: I42e4579a8078744047e5fe08a7a15254970b09bc
2012-05-21 13:29:06 -07:00
Chris Wren
29bb6d925b Support more items in the Notification.InboxStyle, plus an overflow.
Bug: 6500113
Change-Id: I9f6b45ef0821c45000afa8a23ee51033b51df298
2012-05-21 07:56:58 -07:00
Dianne Hackborn
9275197d35 Add aapt support for generating proguard rules for onClick methods.
Also fix Activity menu inflater when using the dark on light
theme wrapper to still be able to find onClick listeners.

Change-Id: Ie206db26d1df96041bc477804e476b02ad99dc9d
2012-05-18 19:23:19 -07:00
Dianne Hackborn
5320eb8938 Fix activity resolver, issues #6519130 and #6507239
6519130: Starting ResolverActivity with no arguments crashes system_server
6507239: ResolverActivity may bypass signature permissions

Change-Id: I64534f781bc6b7eb45e85dbe3a55d351ee28e85c
2012-05-18 15:04:53 -07:00
Chris Wren
4ed80d581c Don't assume digest lines are GONE, we may be recycling them.
Bug: 6500945
Change-Id: I0f01ccdde25bebb8335f0d34408877b895d286ff
2012-05-17 09:35:34 -04:00
Adam Powell
b00b8b0d53 Be more tolerant in TaskStackBuilder
Let callers try to get a parent stack for an activity class with no
parent declared.

Bug 6503702

Change-Id: Iec1bc7a8d9e5b65b756a8ebd0e53d63506796aa3
2012-05-16 16:23:03 -07:00
Chris Wren
b46f3f6743 Merge "Defensively reset the default state of layout elements." into jb-dev 2012-05-16 12:01:44 -07:00
Daniel Sandler
8680bf865a Action button improvements:
- Horizontal layout
  - At most 2 are shown
  - Tombstones are now shown (if the intent is null, the
    button is disabled; use it for quick feedback of an
    action's effect)

Bug: 6418617 (tombstones)
Bug: 6482237 (action separators)
Change-Id: Ie0c613006227bbfe1c0ec6eab1cda4f3782a05f2
2012-05-16 01:27:54 -04:00
Chris Wren
67dc9a02cf Defensively reset the default state of layout elements.
Bug: 6500945
Change-Id: Idf7300c44955413e2db26ecbabdef9f67f12f360
2012-05-16 01:03:20 -04:00
Adam Powell
3d193d92f6 Handle returning a result from automatic up navigation from another
task.

When navigating up from a different task, if the current activity has
a result set only finish the current activity instead of trying
finishAffinity. Log this so that developers know why this behavior is
happening.

Bug 6465336

Change-Id: Ic7cec6f0c0d5861296091e2aea9344309f5fc600
2012-05-15 16:53:34 -07:00
Dianne Hackborn
03fcc333cf Fix issue #6284404: ArrayIndexOutOfBoundsException in...
...FragmentManagerImpl.restoreAllState

This was a bug related to the difference between the pre- and post-HC
behavior of onSaveInstanceState().  Prior to HC, state was saved
before calling onPause().  Starting with HC, it is saved between
onPause() and onStop().  To maintain compatibility with existing
applications, there is a check in ActivityThread for pre-HC to in
that case emulate the behavior of old applications, still calling
onSaveInstanceState() before onPause() but using the state later.

One of the special cases we had to deal with in the old model of
saving state before pausing was restarting an activity that is
already paused.

Consider, for example: you have two activities on screen, the one on
top not fullscreen so you can see the one behind.  The top activity
is resumed, the behind activity is paused.  In the pre-HC world, the
behind activity would have already had its state saved.

Now you rotate the screen, and we need to restart the activities.
We need to destroy the behind activity and create a new instance,
but the new instance has to end up in the paused state.  To
accompish this, we restart it with a flag saying that it should
end up paused.  For the pre-HC world, since it ends up paused,
we need to make sure we still have its instance state kept around
in case we need it because we can't regenerate it (since it is
already paused).

So that is what the changed code here is doing.  It goes through
the normal create/start/resume steps, but holds on to the current
saved state so that it isn't lost when resume clears it, and then
puts the activity back to paused and stuffs that old saved state
back in to it.

The problem is that this code was doing it for every application,
even HC apps.  So we end up in a bad state, when a HC app has its
saved state sitting there as if it had been saved, even though it
is only paused.  Now if we go to restart the activity again, instead
of asking it for a new saved state (as we should for a HC app as
part of stopping it), we just re-use the existing saved state again.

Now this wouldn't generally be a huge problem.  Worst case, when we
restart the activity yet again we are just instantiating it from
the same saved state as we used last time, dropping whatever changes
may have happened in-between.  Who cares?  All it has been doing is
sitting there in the background, visible to the user, but not something
they can interact with.  If the activity made changes to its
fragments, those changes will be lost, and we will restore it from
the older state.

However...  if one of those fragements is a retained fragment, this
will *not* appear in the saved state, but actually be retained across
each activity instance.  And now we have a problem: if the retained
fragments are changed during this time, the next activity instance
will be created from the most recent state for the retained fragments,
but the older state for everyting else.  If these are inconsistent...
wham, dead app.

To fix this, just don't keep the saved state for HC apps.

Also includes a small optimization to ActivityStack to not push
the home screen to the front redundantly.

Change-Id: Ic3900b12940de25cdd7c5fb9a2a28fb1f4c6cd1a
2012-05-15 13:13:33 -07:00
Dianne Hackborn
b61a02657b Fix issue #6020164: Settings crashed on orientation change...
...while listening to TTS example

This was a nice one.  What was happening is that immediately upon
being created, the activity was starting another activity in a
different process.  The second activity would never show, just
immediately exit.  However the original activity had time to
pause and get into stopping itself before the second activity had
come back to the activity manager to say it was going away, resulting
in the activity manager asking the original activity to resume.

At this point the activity manager's state is that the second
activity is finishing and gone, and the original activity is
resumed.  However in the app process the original activity is
still working on stopping itself, and it eventually completes
this and tells the activity manager.  The activity manager now
changes its state to STOPPED, even though it is actually resumed
and that is the last thing it told it to be, and it is now
proceeding to set itself in that state.

This would result later in the activity manager sending an
unnecessary state change to the application.  In the case of
the screen here, we next do a rotation change, the activity
manager thinks the current state is STOPPED not RESUMED, so it
tells the application to relaunch the activity in a new config
but not in the resumed state.  Now it does the whole "start a
new temporary activity" thing again, at which point it tries
to pause the original activity again, and we have an unbalanced
onPause() call to the app and it falls over.

Change-Id: I38b680746f4c61ae30e7ce831e1de187adf60902
2012-05-14 17:19:18 -07:00
Daniel Sandler
f54bfcf5a3 Merge "Restyling action buttons." into jb-dev 2012-05-10 15:44:16 -07:00
Daniel Sandler
e551884b09 Restyling action buttons.
Bug: 6418617
Change-Id: I843352fbd167aeb6cc7beb0172b7416aabd5856a
2012-05-10 16:45:48 -04:00
Daniel Sandler
a4487e1b4b Merge "Clean up API docs for Notification." into jb-dev 2012-05-10 10:57:02 -07:00
Michael Jurka
421dceb0a4 Merge "Making transition out of recents look better" into jb-dev 2012-05-10 10:35:19 -07:00
Daniel Sandler
d33b803b6b Clean up API docs for Notification.
Bug: 6427241
Bug: 6427245
Bug: 6427814
Change-Id: I91d741513e3b345d2b9f28ad0a1bf11b0a898076
2012-05-10 13:15:37 -04:00
Daniel Sandler
e95658c98e New backgrounds for notifications.
Note that PRIORITY_MIN notifications have a special
background treatment.

Bug: 6418617
Change-Id: I5f96330fcc53ac39e80a025baa0c134bd1e971b8
2012-05-10 04:52:18 -07:00
Dianne Hackborn
2c2864f65c Merge "Add new API to find total RAM." into jb-dev 2012-05-09 21:34:42 -07:00
Michael Jurka
21385cd83d Making transition out of recents look better
- Fading out recents first, then scaling up app
thumbnail
- Fade Recents out over 130ms
- Delay the window animation for 200ms first,
then animate for 200ms (previously we didn't delay
and then animated for 300ms)

Bug: 6390075

Change-Id: Ia8c753bf7ee03d2acef6eb2772b28d88fe10a682
2012-05-09 20:25:28 -07:00
Dianne Hackborn
59325eb31f Add new API to find total RAM.
Change-Id: Iad2dff3c44f471515f093e7f0d0d959528881ab9
2012-05-09 18:45:20 -07:00
Dianne Hackborn
652b6d1e59 Add infrastructure for accessing "unstable" content providers.
We have an API and some stuff that purports to this, but no real
implementation yet.

Change-Id: I93555440014a50fdf79fa3f65318d90fb82265b4
2012-05-09 18:18:40 -07:00
Irfan Sheriff
9669a0ce57 Merge "API review fixes" into jb-dev 2012-05-09 14:04:04 -07:00
Irfan Sheriff
22af38c526 API review fixes
- Remove the notion of channel from an application perspective
- Remove the use of DnsSd as part of API and add a protocol type to allow
future extensions
- Use the listener object as a handler for stop and unregister operations. Also,
we now allow multiple active discovery operations.
- Remove init/deinit operations in favour of setting up construction

Bug:6434844
Change-Id: Id15521d571aac9c4053d81184ad66dfc54f636de
2012-05-09 11:48:42 -07:00
Adam Powell
5c43ec9328 Fix bug in TaskStackBuilder#addParentStack
Don't assume the initial component has a valid parent specified.

Bug 6464209

Change-Id: I22aa4c0e667ea85dc46ad7320f4a9f52117af520
2012-05-08 16:55:20 -07:00
Fabrice Di Meglio
92d7f9ff1c Merge "Fix bug #6408393 Character corruption is caused when locale is changed" into jb-dev 2012-05-08 10:54:41 -07:00
Adam Powell
ef31e7cab5 Fix for toggling menu item visibility outside of create/prepare menu
Allow applications to transition from 0=>1+ visible menu items outside
of onCreatePanelMenu/onPreparePanel. Previously, having 0 visible items
at this point would require an invalidation of the options menu.

Bug 6452605

Change-Id: I6cbfc46d0e5ec42b8d78ee516e9b57fdeaf1a890
2012-05-08 10:01:35 -07:00
Chris Wren
195ba5047c Merge "Clear out any existing buttons before adding the set of requested actions." into jb-dev 2012-05-08 07:34:12 -07:00
Chris Wren
2c22eb0a49 Clear out any existing buttons before adding the set of requested actions.
Bug: 6459557
Change-Id: Id19050e7280208d4f98c1aabe8087c6fe6c8d72a
2012-05-08 09:49:13 -04:00
Fabrice Di Meglio
30ca5cd11a Fix bug #6408393 Character corruption is caused when locale is changed
- free the TextLayoutCache on Locale change

- also free TextLayoutCache when memory is low

Change-Id: I39a37ac8ec3c292cfb1c0eea4bb41ff71897d089
2012-05-07 20:17:38 -07:00
Kenny Root
29bb27ef90 Merge "Add encryption parameters to package installation" into jb-dev 2012-05-07 18:41:27 -07:00
Adam Powell
e601efd375 Merge "Fix a bug in Activity Up navigation dispatching" into jb-dev 2012-05-07 17:40:09 -07:00
Adam Powell
07304f5299 Fix a bug in Activity Up navigation dispatching
Propagate the return value from onNavigateUp as the result of
onMenuItemSelected. This fixes a bug where the action bar Up nav
button clicks would not be propagated to support lib FragmentActivity
or other activity subclasses that rely on processing otherwise
unhandled onMenuItemSelected events.

Change-Id: Id879dd1756ed06b8a7b720ebf0eae2a8ddc66ca8
2012-05-07 17:32:44 -07:00
Anonymous Coward
ceb1b0bfae Add encryption parameters to package installation
Change-Id: Ic9f8ab9f8110f08bb3c00725cfce5b8ee7b766f3
2012-05-07 16:34:49 -07:00
Dianne Hackborn
8e11051a06 Merge "Tweak anim API to automatically call Intent.setSourceBounds()." into jb-dev 2012-05-07 16:12:44 -07:00
Dianne Hackborn
d367ca88ee Tweak anim API to automatically call Intent.setSourceBounds().
Also don't retain the source bounds in recent tasks, since it
has no meaning there and it would be better when relaunching an
activity to have a new bounds set based on wherever it is now
being launched from.

Change-Id: Ia90c04ee98a888a7f725b038abe23d71e2b12800
2012-05-07 15:54:58 -07:00
Dianne Hackborn
755c8bfbff Fix issue #6319312: Consecutive call to Activity's onCreate()/onResume()...
...without onPause() in between

There was a bug in the handling of "always finish activities" where we
would go through destroying activities while in the middle of updating
the activity stack.  This would result in the activity behind the
non-full-screen activity being created and then immediately destroyed,
which things were not expecting.

Change-Id: Idaa89089f7b1af7eb747d7b8f9f394beeb2d23fa
2012-05-07 15:06:09 -07:00
Daniel Sandler
fafce1f9f5 Merge "Add number back to legacy notifications." into jb-dev 2012-05-07 05:58:55 -07:00
Romain Guy
2db084fa95 Merge "Dialog not dismissed when tearing down dialog fragment." into jb-dev 2012-05-06 14:06:05 -07:00
Svetoslav Ganov
44bfdd88a7 Dialog not dismissed when tearing down dialog fragment.
1. The dismiss implementaton in Dialog was posting a message
   on the main thread to perform the real dismiss work. The
   goal of this was to allow calling dismiss() from multiple
   threads. The side effect of this is that when dialog fragment
   is dismissed the dialog is not dimissed until the current
   loop on the main thread is completed. However, during rotation
   of the screen the current activity has to be restarted, hence
   all fragments whould be removed. In the destruction process
   the dialog grament requests from the dialog to dismiss but
   since this is asynchromous, the code in
   ActivityThread#handleDestroyActivity detects a leaking window
   since the dialog window is still not removed and removes that
   window. Now when the dialog removal message is processed on
   the next loop we get an exception that the window has already
   been removed. Now if Dialog#dismiss() is called from the
   main thread the call goes right though otherwise a message is
   posted.

bug:5911682

Change-Id: I449d6dd75a84c0ff29ea13dac7d163219cc38341
2012-05-06 13:21:33 -07:00
Pin Ting
d0c66f6a8f Merge "Fix javadoc." into jb-dev 2012-05-06 07:12:02 -07:00
Romain Guy
5b972e730f Merge "Don't check whether dismiss() is called on the UI thread Bug #6436642" into jb-dev 2012-05-04 17:27:11 -07:00
Romain Guy
05e1c3a691 Don't check whether dismiss() is called on the UI thread
Bug #6436642

An app invoking dismiss() during a draw pass could cause crashes.
This change makes the code simpler too.

Change-Id: Iba89a8522e23d02f87697cfeec6cc713a1462669
2012-05-04 17:18:29 -07:00
Dianne Hackborn
6ad5b4f637 Merge "Fix issue #6426645: API REVIEW: android.app.ActivityOptions" into jb-dev 2012-05-04 16:10:16 -07:00
Chris Wren
3c5f924327 The BigTextStyle should never render mContentText
Change-Id: Ifcbb0868871741bd78c5ebf31408143aaf732b98
2012-05-04 13:32:18 -07:00
Chris Wren
d6297dbfe9 Add an alternate title that can be used in the overflow of a InboxStyle.
Always hide contentText for BigTextStyle and InboxStyle.
Style cannot be used without specialization, it should be abstract.

Bug: 6428978
Bug: 6274137
Bug: 6317471
Change-Id: I21531a94494f891a058a477805b177e736b921cf
2012-05-04 12:45:38 -07:00