diff options
author | Amit Mahajan <amitmahajan@google.com> | 2015-06-15 22:16:35 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-06-15 22:16:38 +0000 |
commit | be1b22e88ee24a9d53c1871da360cf7b56f4da0b (patch) | |
tree | ee0893163f8df9cc6cfd545c1fc4b3c339a225d0 /src/com/android/settings/DeviceInfoSettings.java | |
parent | dddd589d8f0de00c192022ea9bd87f32a734343b (diff) | |
parent | 9d4b5486198a16053e5fdeba6b34268104faead2 (diff) | |
download | packages_apps_Settings-be1b22e88ee24a9d53c1871da360cf7b56f4da0b.zip packages_apps_Settings-be1b22e88ee24a9d53c1871da360cf7b56f4da0b.tar.gz packages_apps_Settings-be1b22e88ee24a9d53c1871da360cf7b56f4da0b.tar.bz2 |
Merge "Change to trigger client initiated OMA-DM session on System update req." into mnc-dev
Diffstat (limited to 'src/com/android/settings/DeviceInfoSettings.java')
-rw-r--r-- | src/com/android/settings/DeviceInfoSettings.java | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/com/android/settings/DeviceInfoSettings.java b/src/com/android/settings/DeviceInfoSettings.java index e1df499..82ee910 100644 --- a/src/com/android/settings/DeviceInfoSettings.java +++ b/src/com/android/settings/DeviceInfoSettings.java @@ -24,6 +24,7 @@ import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.os.Build; import android.os.Bundle; +import android.os.PersistableBundle; import android.os.SELinux; import android.os.SystemClock; import android.os.SystemProperties; @@ -34,6 +35,7 @@ import android.preference.PreferenceGroup; import android.preference.PreferenceScreen; import android.provider.SearchIndexableResource; import android.provider.Settings; +import android.telephony.CarrierConfigManager; import android.text.TextUtils; import android.util.Log; import android.widget.Toast; @@ -234,10 +236,39 @@ public class DeviceInfoSettings extends SettingsPreferenceFragment implements In } } else if (preference.getKey().equals(KEY_DEVICE_FEEDBACK)) { sendFeedback(); + } else if(preference.getKey().equals(KEY_SYSTEM_UPDATE_SETTINGS)) { + CarrierConfigManager configManager = + (CarrierConfigManager) getSystemService(Context.CARRIER_CONFIG_SERVICE); + PersistableBundle b = configManager.getConfig(); + if (b.getBoolean(CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_BOOL)) { + ciActionOnSysUpdate(b); + } } return super.onPreferenceTreeClick(preferenceScreen, preference); } + /** + * Trigger client initiated action (send intent) on system update + */ + private void ciActionOnSysUpdate(PersistableBundle b) { + String intentStr = b.getString(CarrierConfigManager. + KEY_CI_ACTION_ON_SYS_UPDATE_INTENT_STRING); + if (!TextUtils.isEmpty(intentStr)) { + String extra = b.getString(CarrierConfigManager. + KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_STRING); + String extraVal = b.getString(CarrierConfigManager. + KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_VAL_STRING); + + Intent intent = new Intent(intentStr); + if (!TextUtils.isEmpty(extra)) { + intent.putExtra(extra, extraVal); + } + Log.d(LOG_TAG, "ciActionOnSysUpdate: broadcasting intent " + intentStr + + " with extra " + extra + ", " + extraVal); + getActivity().getApplicationContext().sendBroadcast(intent); + } + } + private void removePreferenceIfPropertyMissing(PreferenceGroup preferenceGroup, String preference, String property ) { if (SystemProperties.get(property).equals("")) { |