Merge "Change to trigger client initiated OMA-DM session on System update req." into mnc-dev
This commit is contained in:
@@ -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("")) {
|
||||||
|
Reference in New Issue
Block a user