Fixed issue 55781: OS restart when uninstall app.

OS restart when uninstalling after calling PackageManager.setComponentEnabledSettings().
A broadcast with action android.intent.action.ACTION_PACKAGE_CHANGED will be sent after
10 seconds when setComponentEnabledSetting is called. Within this 10 seconds, if the app
is uninstalled, a IllegalArgumentException with message "Unknown package: xx" will throw
in Settings.getApplicationEnabledSettingLPr. This IllegalArgumentException will catch in
LoadedApk.ReceiverDispatcher.Args.run() and throw RuntimeException. That cause the system
restart. Now I add logic to check if package exists to avoid such exception.

Change-Id: Ib5589ddcf6d9ff4362cff492d114aa5046a447b0
Fixed race condition in Spinner.DialogPopup on null reference.

NullPointerException is triggered when DialogPopup is
dismissed due to object mPopup being null when not showing.
Race condition is triggered when dialog is dismissed before
touch event to dismiss dialog has been processed properly.

Fixed by adding a null check prior to accessing mPopup object.

Change-Id: I3c4fe9c279d92a7103fb4f68189d1d42beedc606
add permission READ_APN_SETTINGS, to enable the application read
part of APN settings.

Change-Id: I0c9396b538d1f334173a309da77856673cfe26fc