Transport-based restore now handles both key/value and full-data
(stream) data delivery.
Also: PMBA now holds metadata for *all* apps, not just those with
backup agents. Since we need to consult this for every restore-
at-install operation we cache this locally now, tagged per transport
and per remote dataset, to avoid having to re-download it as part
of every future restore operation.
Also fixed a bug in LocalTransport that was preventing restore of
key/value datasets, i.e. all of them that were nominally available
prior to this change.
NOTE: at present there is no automatic full-data backup; if for
testing purposes you need to create some to then use for restore,
you still need to use 'bmgr fullbackup ...' to push them.
NOTE: at present the unified transport restore uses a refactored
"engine" implementation to handle stream data that encapsulates
the existing "adb restore" implementation. However, the adb
restore code path has not yet been refactored to wrap the newly-
extracted engine version; it still contains its own copy of all
the relevant logic. This will change in a future CL, at which
point offline/USB archive restore will simply wrap the same
shared stream-restore engine implementation.
Bug 15330073
Bug 15989617
Change-Id: Ieedb18fd7836ad31ba24656ec9feaaf69e164af8
Instead of sending the profile name in the provisioning intent
the mdm should set the profile name after provisioning has completed.
This allows us to simplify the provisioning flow and the mdm can
change the name of the profile later on if required.
Change-Id: I821ef2300eae74e89872152ae1c89ac3ecbb82e7
DialogFragment was saving the state of the dialog in
onSavedInstanceState() but this was being lost because it was
only being saved in the FragmentState but not being restored
into the Fragment when the Fragment was being reinstantiated.
This left us in a state after a rotation where the
DialogFragment was in the state "showing" but had never been
relaunched. Restoring the saved Bundle to the Fragment causes
the DialogFragment to be relaunched after the rotation.
Fixes bug 15559669.
Change-Id: I953a6c4bfdaed1ebcad1d99f47ceac5e017797db
Bug 15746767
The default for activity transitions with the material theme
should be to enable them when makeSceneTransitionAnimation is
used, but disable them when no ActivityOptions is used.
Change-Id: I4c777a72e4401b367e30b9ba971f7280646d5017
Bug 15585623
Bug 15607591
Exit transitions now run because exit transitions are executed
with startActivity.
Change-Id: Ie55793a9514c64d96e2cf1abdd2d39c4d2606a23
Since managed profiles are started on bootup, the managed profile
would be allowed to set an app (possibly itself) as a lock task
app and then run itself on bootup and constantly control the
device. This privelege should be restricted to device owners.
Change-Id: I4a93aabd6054cbe75076ef0517fce03ffa74dc93
Previously, if an app inflated a layout in a Fragment's onCreateView
that itself had fragments included, those fragments would be added to
the Activity-level FragmentManager and would not share the same
lifecycle with the fragment it was inflated for. This led to some
nasty management headaches.
If an app targets L or above, add the fragment to the child
FragmentManager of the current fragment when inflated using the
LayoutInflater passed to the parent fragment.
Bug 12763389
Change-Id: Iad4ed7d5df602aea9579bf1503e206fa894630c1
The heads up notification is influences by full screen, sound,
vibration and priority. Update the documentation on those APIs to
explain this.
Also add some draft documentation for hidden API surfaces.
Bug: 15509793
Change-Id: Ie7dc99d9c1acf873782bdd010cdf28d11da256d7
In an intent disambiguation dialog from a managed profile,
when the intent can be forwarded to the personal space:
show the icon of the parent next to "Personal apps".
And put it at the bottom of the dialog.
Change-Id: I523222aac5dde9653e784eb26cf23cdaf018b86c
Added a dialog that shows when app has not been authorized by
DevicePolicyManager.isLockTaskAuthorized. This allows any app
to trigger lock-to-app mode. This same dialog is used when
startLockTaskOnCurrent is triggered by the recents long-press.
Can exit the mode by long-pressing recents again.
Keyguard is disabled when lock-to-app is active.
This CL also prevents apps from finishing when they are the root
task in a lock task TaskRecord.
Change-Id: Ib54d858e570cccf6bfd986958868e15f49bcef75
Client has to call recycle() on parcel object after its usage
otherwise native layer of binder won't clear the resources of
parcel which were allocated for IPC
Change-Id: Ib31ddcc92aa4ebd80bb66729922b9133692e9c9e