summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/DeviceInfoSettings.java
diff options
context:
space:
mode:
authorAmit Mahajan <amitmahajan@google.com>2015-06-15 22:16:35 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-06-15 22:16:38 +0000
commitbe1b22e88ee24a9d53c1871da360cf7b56f4da0b (patch)
treeee0893163f8df9cc6cfd545c1fc4b3c339a225d0 /src/com/android/settings/DeviceInfoSettings.java
parentdddd589d8f0de00c192022ea9bd87f32a734343b (diff)
parent9d4b5486198a16053e5fdeba6b34268104faead2 (diff)
downloadpackages_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.java31
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("")) {