History log of /frameworks/base/telephony/java/com/android/internal/telephony/CarrierAppUtils.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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