am 5282bd71: am be1b22e8: Merge "Change to trigger client initiated OMA-DM session on System update req." into mnc-dev

* commit '5282bd71c9128bd53703b3381be0697afc7baf2a':
  Change to trigger client initiated OMA-DM session on System update req.
This commit is contained in:
Amit Mahajan
2015-06-15 22:39:02 +00:00
committed by Android Git Automerger

View File

@@ -24,6 +24,7 @@ import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo; import android.content.pm.ResolveInfo;
import android.os.Build; import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.os.PersistableBundle;
import android.os.SELinux; import android.os.SELinux;
import android.os.SystemClock; import android.os.SystemClock;
import android.os.SystemProperties; import android.os.SystemProperties;
@@ -34,6 +35,7 @@ import android.preference.PreferenceGroup;
import android.preference.PreferenceScreen; import android.preference.PreferenceScreen;
import android.provider.SearchIndexableResource; import android.provider.SearchIndexableResource;
import android.provider.Settings; import android.provider.Settings;
import android.telephony.CarrierConfigManager;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import android.widget.Toast; import android.widget.Toast;
@@ -234,10 +236,39 @@ public class DeviceInfoSettings extends SettingsPreferenceFragment implements In
} }
} else if (preference.getKey().equals(KEY_DEVICE_FEEDBACK)) { } else if (preference.getKey().equals(KEY_DEVICE_FEEDBACK)) {
sendFeedback(); 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); 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, private void removePreferenceIfPropertyMissing(PreferenceGroup preferenceGroup,
String preference, String property ) { String preference, String property ) {
if (SystemProperties.get(property).equals("")) { if (SystemProperties.get(property).equals("")) {