Fix Settings app crash after enabled multi-user

Bug: 8128225
Change-Id: I2918a5ec36e861a1ce4b2e67cf7607929732a7bf
Fix NullPointerException at RunningState

getServiceInfo returns null if you have a service defined in the
manifest as: <service android:name=".Xxx" android:exported="false" />
or and in an <application> with no label or icon.
Dont crash the Settings application because of that.

Change-Id: I6f9f69c130e610b7e4ab66426177b7bade1e1515
Check if the Activity is finishing before showDialog()

Check if the Activity is going through its finishing phase before
displaying the Dialog, because Showing dialog once the activity
is no longer in context will cause BadTokenException.

Change-Id: I58940e694f61cd79536abe2df60a0b745a7b806f
Fix not updating error message when authentication fails

If attempt to configure the first network fails, AccessPoints fails to
update error message because it only checks the error code if it is not
active.

With this change, user may see saved network message for a second
because SupplicantStateTracker retries on authentication failure so
intermediate status is displayed between each trial.

Bug: 8284024
Change-Id: I8b976b03878e27e46726ee8a176f131115b7a409
avoid stopping app in case of accessing empty db

When accessing empty database, Setting App is stopped, sometimes.
To avoid stopping app, check null for cursor

Change-Id: I71ec067f502d12a9215a9abdbe9e23fc07af17bb