diff options
4 files changed, 17 insertions, 3 deletions
diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml index 51c2062..cabf643 100644 --- a/core/res/res/values/strings.xml +++ b/core/res/res/values/strings.xml @@ -3993,9 +3993,11 @@ <!-- Lock-to-app unlock password string --> <string name="lock_to_app_unlock_password">Ask for password before unpinning</string> - <!-- Notification shown when device owner silently installs a package --> + <!-- Notification shown when device owner silently installs a package [CHAR LIMIT=NONE] --> <string name="package_installed_device_owner">Installed by your administrator</string> - <!-- Notification shown when device owner silently deletes a package --> + <!-- Notification shown when device owner silently updates a package [CHAR LIMIT=NONE] --> + <string name="package_updated_device_owner">Updated by your administrator</string> + <!-- Notification shown when device owner silently deletes a package [CHAR LIMIT=NONE] --> <string name="package_deleted_device_owner">Deleted by your administrator</string> <!-- [CHAR_LIMIT=NONE] Battery saver: Feature description --> diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index b05fe07..420c2fa 100755 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -698,6 +698,7 @@ <java-symbol type="string" name="lock_to_app_unlock_pattern" /> <java-symbol type="string" name="lock_to_app_unlock_password" /> <java-symbol type="string" name="package_installed_device_owner" /> + <java-symbol type="string" name="package_updated_device_owner" /> <java-symbol type="string" name="package_deleted_device_owner" /> <java-symbol type="string" name="lockscreen_access_pattern_cell_added" /> <java-symbol type="string" name="lockscreen_access_pattern_cleared" /> diff --git a/services/core/java/com/android/server/pm/PackageInstallerService.java b/services/core/java/com/android/server/pm/PackageInstallerService.java index a406175..09096ff 100644 --- a/services/core/java/com/android/server/pm/PackageInstallerService.java +++ b/services/core/java/com/android/server/pm/PackageInstallerService.java @@ -969,8 +969,11 @@ public class PackageInstallerService extends IPackageInstaller.Stub { public void onPackageInstalled(String basePackageName, int returnCode, String msg, Bundle extras) { if (PackageManager.INSTALL_SUCCEEDED == returnCode && mShowNotification) { + boolean update = (extras != null) && extras.getBoolean(Intent.EXTRA_REPLACING); Notification notification = buildSuccessNotification(mContext, - mContext.getResources().getString(R.string.package_installed_device_owner), + mContext.getResources() + .getString(update ? R.string.package_updated_device_owner : + R.string.package_installed_device_owner), basePackageName, mUserId); if (notification != null) { @@ -980,6 +983,7 @@ public class PackageInstallerService extends IPackageInstaller.Stub { } } final Intent fillIn = new Intent(); + fillIn.putExtra(PackageInstaller.EXTRA_PACKAGE_NAME, basePackageName); fillIn.putExtra(PackageInstaller.EXTRA_SESSION_ID, mSessionId); fillIn.putExtra(PackageInstaller.EXTRA_STATUS, PackageManager.installStatusToPublicStatus(returnCode)); @@ -1030,6 +1034,7 @@ public class PackageInstallerService extends IPackageInstaller.Stub { R.color.system_notification_accent_color)) .setContentTitle(packageLabel) .setContentText(contentText) + .setStyle(new Notification.BigTextStyle().bigText(contentText)) .setLargeIcon(packageIcon) .build(); } diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index f087c33..fb83cb9 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -1596,6 +1596,12 @@ public class PackageManagerService extends IPackageManager.Stub { res.origPackage); break; } + case PackageManager.INSTALL_SUCCEEDED: { + extras = new Bundle(); + extras.putBoolean(Intent.EXTRA_REPLACING, + res.removedInfo != null && res.removedInfo.removedPackage != null); + break; + } } return extras; } |
