We don't dex2oat during application moves, so we must scan
the package again scanPackageDirtyLI to deduce its ABI.
This is unnecessary (since a move cannot change ABIs), but we
need some additional refactoring to avoid a second scan.
bug: 21337469
(cherry picked from commit cd251fa382e887f59c278d4d7cd0a858812c6114)
Change-Id: Id1ed3bdfabb41e05e6a2f7efbd05d2103a67c663
Allows us to proceed without crashing the system process. Also,
complete an incomplete error message. Follow up comments from
change b904863476991d8540d37d5.
bug: 21144503
(cherry picked from commit c52ae28006605fb2da38b305b60b9bb419aa2f80)
Change-Id: I47b8762449714162fcd5c16eba6fcc146b93120b
This requires a minor refactor to extract the ABI detection logic
out of scanPackageDirtyLI.
Note that there's a minor regression here : we ignore the
cpuAbiOverride from the package settings when calculating the
CPU ABI. This is OK (and possibly better behaviour) because this
is only a debug only option (for adb install) AND because the instructions
require users to specify the abi override on every adb install
invocation. Furthermore, the behaviour when an ADB installed app
(with an override) is auto-updated is more consistent.
bug: 21144503
(cherry picked from commit b904863476991d8540d37d542c0a49b78deab680)
Change-Id: I1eb88b808fd2e90e14c32322131659220aafdb7a
Currently installation fails, if an app is located on SD card (inside ASEC).
If an app is located inside ASEC, dexopt output should go to
/data/dalvik-cache. dexopt also needs to be performed at a later stage,
because the name of the oat file contains the absolute path to the dex file.
Bug: 20452651
Bug: 21360107
(cherry picked from commit 94056d1cb8183bde3e942336735b289b9654deb1)
Change-Id: Id1ced7159e5af9c05be0b637437b3b260e859c1d
Just above the SecurityException is a check for r.record == null,
thus dereferencing r.record will cause a null pointer exception.
Found in Android 4.3 with the following steps:
1) Start the music app.
2) Switch to the restricted user.
3) Navigate to Settings->Apps->Running->Music.
4) Tap the stop button.
The security exception should be thrown which results in
a nice message to the user, but instead a null pointer
exception is thrown which results in the settings app
crashing.
Change-Id: I4a306c38650c9d366896e592767dde70adb71c57
Adapt to Jack compilation specifics.
Fix bad import in VideoDumpActivity.
The extra semicolumn is ignored by javac because of
https://bugs.openjdk.java.net/browse/JDK-8027682 but is not
permitted by ecj or Jack.
This includes cherry-picks of the following changes:
248ef6f9c414db26fd1bc7ec3d4ee4f3b87d54cf
705555dc468e46560d02db102dfcedc1e5c70d9e
f50a51fb4c8d5ca973ce910a21bddf9f8466cb51
bf5ad8d9943c0e1b0b3f1b4524c277f369065d08
Change-Id: Ifbe063e3822a7d63b1681921b9788cfca898ba64
Crypto primitives' getSpi has a side-effect which modifies the state
of the primitive: it selects an SPI implementation if it hasn't been
selected yet (e.g., Cipher.getInstance("AES") doesn't select an SPI
implementation until Cipher.init). The new method getCurrentSpi has
no side-effects: it simply returns null if no SPI implementation is
selected. The switch to getCurrentSpi lets us avoid side-effects and
throw a more pertinent exception when no SPI is yet selected.
Bug: 18088752
Change-Id: I6d62eb67f904a15782673d16bcdae240cdc8f979
If user sets a non-secure lock screen, launch an activity which
appends window flag FLAG_DISMISS_KEYGUARD, then insert a PIN lock
SIM card, activity window will become black screen.
This is because mDismissKeyguard keeps on DISMISS_KEYGUARD_CONTINUE
when keyguard secure changes from non-secure to secure like in the
insert PIN lock SIM card case. If mDismissKeyguard is
DISMISS_KEYGUARD_CONTINUE and keyguard is secure, there is no chance
to launch keyguard unlock window anymore.
This patch handles the use case that to reset mDismissKeyguard to a
new cycle from DISMISS_KEYGUARD_START to DISMISS_KEYGUARD_CONTINUE
again once keyguard secure state change suddenly to let keyguard
window has chance to be launched.
https://code.google.com/p/android/issues/detail?id=78806
Change-Id: I0d4fd0b9bdf7d0a39f35427bfd4e1b928d9bca6b
Signed-off-by: tingna_sung <tingna_sung@htc.com>
WindowManagerService received X and Y offset steps but failed to pass
them off to the relavent wallpaperservice.
Live wallpapers expect a valid value for xOffsetStep and yOffsetStep
when the WallpaperService.Engine::onOffsetsChanged function is called
As specified here:
https://developer.android.com/reference/android/service/wallpaper/WallpaperService.Engine.html
onOffsetsChanged(float,float, float, float, int, int)
See bug report:
https://code.google.com/p/android/issues/detail?id=173607
Change-Id: I532dedf2db055e27d6eca813e30346e37f52dc65
(cherry picked from commit e03ea68d0a7f7d7c60663feae587225cca3a3a5b)
Case 1 (name == null):
Switch user from guest to owner. All processes of guest
will be killed, it will not include processes which singleton
components live in, but singleton provider records are still
collected and removed.
When the user switch is complete and the process of removed
singleton provider is still alive, there is someone access
the provider, it will create a new ContentProviderRecord and
wait but no one will notify it because the provider process
is alive with different ContentProviderRecord.
Then the access cannot get response unless the process of target
provider is died and restarted.
Case 2 (name != null):
Switch to another non-guest user, launch an application which
contains singleton provider. Go to Settings to force-stop the
package then switch back to owner user. Launch an application
which will access the singleton provider. It will also cannot
get response that similar as case 1.
Solution:
Only collect singleton provider if target user is all or owner.
Change-Id: Ic6828da66645172d1378cfb1f66d092df5966516
Rename confusingly named methods, add userID arguments to all methods
that operate on user state and delete methods that have been replaced by
the onUser* methods.
Some of the old methods have been kept in KeyStore.java in order to ease
the transition of various system packages to the new methods.
Change-Id: Ic271689d62c36d255c5adee26c7abc2e7ed24df5
Adds in flag CREATE_FLAG_WAIT_FOR_ATTACH with value 0x0008 to the RenderScript API
to be passed down to the C++ implementation to tell it to wait for a debugger to be
attached before executing the kernel.
Change-Id: Ibc4e903efbed1b1fb14cf378d1a8517d5c8d1f26
Signed-off-by: Stephen McGroarty <stephen@codeplay.com>
bug 20822382
This corrects a copy&paste error placing F16 into F32.
Fixes an error disallowing vectors of fp16 types.
Change-Id: I34be1aa9a323d61a7121581ab9599d2c2d32dd42
e.g. ContentResolver.getType will call
ActivityManagerService.getProviderMimeType
that will not have connection but increase
externalProcessNoHandleCount.
Change-Id: I649c0b2390a749c77c6be5e7dfadc1acb689ec4c
Add KeyStore.onUserPasswordChanged for the lockscreen to call when
the user changes their password. Keystore will then handle the logic of
deleting keys. Instead of calling Keystore.password_uid for both
unlocking and password changes the behavior has been split into
Keystore.unlock and onUserPasswordChanged.
(cherry-picked from commit a91a8504191d91d288c55821caa5bf00c9be26a2)
Change-Id: I324914c00195d762cbaa8c63084e41fa796b7df8
Keystore's begin operation now requires parameters which describe the
operation (e.g., algorithm, block mode, padding). This adjusts
KeyStoreTest to provide the necessary parameters.
Bug: 19509156
Change-Id: I8205288d8cbdd37196acde32548a0994763be38c