Loading src/com/android/settings/DeviceInfoSettings.java +31 −0 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading Loading @@ -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("")) { Loading Loading
src/com/android/settings/DeviceInfoSettings.java +31 −0 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading Loading @@ -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("")) { Loading