24b9d960071ecf24f1b7edf799f6a4edf20f2b95 |
|
21-Jul-2016 |
Jeff Davidson <jpd@google.com> |
Add support for carrier "associated" apps. The platform currently supports the notion of default carrier apps. These apps are set to DISABLED_UNTIL_USED until a SIM is inserted which grants them carrier privileges, at which point they are enabled. Apps are not touched if they have been updated from the version on /system or if their state has been modified externally (e.g. by the user). This CL extends this notion to associated apps, which may not have carrier privileges themselves, but should be enabled/disabled alongside a particular carrier app. This should include helper apps that should not be visible to users who don't use the given carrier unless the user explicitly enables the app. As additional protection, we add a check to ensure that we never disable apps after the first time we've run. Since we need to store this information in secure settings, we also move the call site from PackageManagerService#main() to PackageManagerService#systemReady(), which enables use of secure settings but still occurs before third-party apps can be started. Bug: 30141427 Change-Id: Iee72ba4e70e5ca97999c9147a65af82c670a23e8
/frameworks/base/telephony/java/com/android/internal/telephony/CarrierAppUtils.java
|
e68b127525c23e8e0cbe1e9dee75534d99e2833d |
|
07-Apr-2016 |
Jeff Davidson <jpd@google.com> |
Disable preinstalled carrier apps earlier in boot. Preinstalled carrier apps start in state DEFAULT (== ENABLED); the telephony stack marks them as DISABLED_UNTIL_USED during initialization, and eventually ENABLED once a SIM for that carrier is inserted. However, this can cause a race as telephony initialization may happen after the carrier app is started, while it is still in the DEFAULT state. In this case, the app is disabled, and though PackageManager will subsequently kill it, this may lead to a race as the app will briefly remain running while disabled. In this state, crashes are likely to occur in the app. So, make sure we perform the first disable as soon as PackageManager is ready. This ensures the app is not started until it has been explicitly enabled. Bug: 27821069 Change-Id: I771d7dde7880fd98b1df3d011be44164abf402f4
/frameworks/base/telephony/java/com/android/internal/telephony/CarrierAppUtils.java
|
b7e26fb1ad1802025cc3a01eeba6acfbc8f3f444 |
|
07-Apr-2016 |
Jeff Davidson <jpd@google.com> |
Move CarrierAppUtils into frameworks/base/telephony. This is a no-op refactoring which will allow us to access CarrierAppUtils from PackageManagerService. Bug: 27821069 Change-Id: Id6ac33020395f7fc03b285ffa8c3d421a02270ec
/frameworks/base/telephony/java/com/android/internal/telephony/CarrierAppUtils.java
|