@Override
 public void setListAdapter(ListAdapter adapter) {
   if (adapter == null) {
     super.setListAdapter(null);
   } else {
     // We don't have access to the hidden getHeaders() method, so grab the headers from
     // the intended adapter and then replace it with our own.
     int headerCount = adapter.getCount();
     List<Header> headers = Lists.newArrayList();
     for (int i = 0; i < headerCount; i++) {
       headers.add((Header) adapter.getItem(i));
     }
     mHeaderAdapter = new HeaderAdapter(this, headers);
     super.setListAdapter(mHeaderAdapter);
   }
 }
 // ---------------------------------MTK--------------------------------
 /// Fix CR: ALPS01810923, Invalidate headers when resume @{
 @Override
 protected void onResume() {
   super.onResume();
   invalidateHeaders();
 }
 @Override
 protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   mPreferences = PreferenceManager.getDefaultSharedPreferences(this);
 }
 // ---------------------------------mtk--------------------------------
 /// Fix CR: ALPS01792584, Invalidate headers when leave this page @{
 @Override
 protected void onStop() {
   super.onStop();
   invalidateHeaders();
 }