gt:                 if (DEBUG) Log.w(TAG, e.getMessage());
context: package com.moez.QKSMS.ui.messagelist;
  
  import android.annotation.SuppressLint;
  import android.database.Cursor;
  import android.provider.BaseColumns;
  import android.provider.Telephony;
  import android.util.Log;
  
  public class MessageColumns {
  
      public static final int COLUMN_MSG_TYPE            = 0;
      public static final int COLUMN_ID                  = 1;
      public static final int COLUMN_THREAD_ID           = 2;
      public static final int COLUMN_SMS_ADDRESS         = 3;
      public static final int COLUMN_SMS_BODY            = 4;
      public static final int COLUMN_SMS_DATE            = 5;
      public static final int COLUMN_SMS_DATE_SENT       = 6;
      public static final int COLUMN_SMS_READ            = 7;
      public static final int COLUMN_SMS_TYPE            = 8;
      public static final int COLUMN_SMS_STATUS          = 9;
      public static final int COLUMN_SMS_LOCKED          = 10;
      public static final int COLUMN_SMS_ERROR_CODE      = 11;
      public static final int COLUMN_MMS_SUBJECT         = 12;
      public static final int COLUMN_MMS_SUBJECT_CHARSET = 13;
      public static final int COLUMN_MMS_DATE            = 14;
      public static final int COLUMN_MMS_DATE_SENT       = 15;
      public static final int COLUMN_MMS_READ            = 16;
      public static final int COLUMN_MMS_MESSAGE_TYPE    = 17;
      public static final int COLUMN_MMS_MESSAGE_BOX     = 18;
      public static final int COLUMN_MMS_DELIVERY_REPORT = 19;
      public static final int COLUMN_MMS_READ_REPORT     = 20;
      public static final int COLUMN_MMS_ERROR_TYPE      = 21;
      public static final int COLUMN_MMS_LOCKED          = 22;
      public static final int COLUMN_MMS_STATUS          = 23;
      public static final int COLUMN_MMS_TEXT_ONLY       = 24;
  
      public static final int CACHE_SIZE         = 50;
  
      @SuppressLint("InlinedApi")
      public static final String[] PROJECTION = new String[] {
              Telephony.MmsSms.TYPE_DISCRIMINATOR_COLUMN,
              BaseColumns._ID,
              Telephony.Sms.Conversations.THREAD_ID,
              // For SMS
              Telephony.Sms.ADDRESS,
              Telephony.Sms.BODY,
              Telephony.Sms.DATE,
              Telephony.Sms.DATE_SENT,
              Telephony.Sms.READ,
              Telephony.Sms.TYPE,
              Telephony.Sms.STATUS,
              Telephony.Sms.LOCKED,
              Telephony.Sms.ERROR_CODE,
              // For MMS
              Telephony.Mms.SUBJECT,
              Telephony.Mms.SUBJECT_CHARSET,
              Telephony.Mms.DATE,
              Telephony.Mms.DATE_SENT,
              Telephony.Mms.READ,
              Telephony.Mms.MESSAGE_TYPE,
              Telephony.Mms.MESSAGE_BOX,
              Telephony.Mms.DELIVERY_REPORT,
              Telephony.Mms.READ_REPORT,
              Telephony.MmsSms.PendingMessages.ERROR_TYPE,
              Telephony.Mms.LOCKED,
              Telephony.Mms.STATUS,
              Telephony.Mms.TEXT_ONLY
      };
  
      public static class ColumnsMap {
          private final String TAG = "ColumnsMap";
          private final boolean DEBUG = false;
  
          public int mColumnMsgType;
          public int mColumnMsgId;
          public int mColumnSmsAddress;
          public int mColumnSmsBody;
          public int mColumnSmsDate;
          public int mColumnSmsDateSent;
          public int mColumnSmsRead;
          public int mColumnSmsType;
          public int mColumnSmsStatus;
          public int mColumnSmsLocked;
          public int mColumnSmsErrorCode;
          public int mColumnMmsSubject;
          public int mColumnMmsSubjectCharset;
          public int mColumnMmsDate;
          public int mColumnMmsDateSent;
          public int mColumnMmsRead;
          public int mColumnMmsMessageType;
          public int mColumnMmsMessageBox;
          public int mColumnMmsDeliveryReport;
          public int mColumnMmsReadReport;
          public int mColumnMmsErrorType;
          public int mColumnMmsLocked;
          public int mColumnMmsStatus;
          public int mColumnMmsTextOnly;
  
          public ColumnsMap() {
              mColumnMsgType            = COLUMN_MSG_TYPE;
              mColumnMsgId              = COLUMN_ID;
              mColumnSmsAddress         = COLUMN_SMS_ADDRESS;
              mColumnSmsBody            = COLUMN_SMS_BODY;
              mColumnSmsDate            = COLUMN_SMS_DATE;
              mColumnSmsDateSent        = COLUMN_SMS_DATE_SENT;
              mColumnSmsType            = COLUMN_SMS_TYPE;
              mColumnSmsStatus          = COLUMN_SMS_STATUS;
              mColumnSmsLocked          = COLUMN_SMS_LOCKED;
              mColumnSmsErrorCode       = COLUMN_SMS_ERROR_CODE;
              mColumnMmsSubject         = COLUMN_MMS_SUBJECT;
              mColumnMmsSubjectCharset  = COLUMN_MMS_SUBJECT_CHARSET;
              mColumnMmsMessageType     = COLUMN_MMS_MESSAGE_TYPE;
              mColumnMmsMessageBox      = COLUMN_MMS_MESSAGE_BOX;
              mColumnMmsDeliveryReport  = COLUMN_MMS_DELIVERY_REPORT;
              mColumnMmsReadReport      = COLUMN_MMS_READ_REPORT;
              mColumnMmsErrorType       = COLUMN_MMS_ERROR_TYPE;
              mColumnMmsLocked          = COLUMN_MMS_LOCKED;
              mColumnMmsStatus          = COLUMN_MMS_STATUS;
              mColumnMmsTextOnly        = COLUMN_MMS_TEXT_ONLY;
          }
  
          @SuppressLint("InlinedApi")
          public ColumnsMap(Cursor cursor) {
              // Ignore all 'not found' exceptions since the custom columns
              // may be just a subset of the default columns.
              try {
                  mColumnMsgType = cursor.getColumnIndexOrThrow(Telephony.MmsSms.TYPE_DISCRIMINATOR_COLUMN);
              } catch (IllegalArgumentException e) {
                  if (DEBUG) Log.w(TAG, e.getMessage());
              }
  
              try {
                  mColumnMsgId = cursor.getColumnIndexOrThrow(BaseColumns._ID);
              } catch (IllegalArgumentException e) {
                  if (DEBUG) Log.w(TAG, e.getMessage());
              }
  
              try {
                  mColumnSmsAddress = cursor.getColumnIndexOrThrow(Telephony.Sms.ADDRESS);
              } catch (IllegalArgumentException e) {
                  if (DEBUG) Log.w(TAG, e.getMessage());
              }
  
              try {
                  mColumnSmsBody = cursor.getColumnIndexOrThrow(Telephony.Sms.BODY);
              } catch (IllegalArgumentException e) {
                  if (DEBUG) Log.w(TAG, e.getMessage());
              }
  
              try {
                  mColumnSmsDate = cursor.getColumnIndexOrThrow(Telephony.Sms.DATE);
              } catch (IllegalArgumentException e) {
                  if (DEBUG) Log.w(TAG, e.getMessage());
              }
  
              try {
                  mColumnSmsDateSent = cursor.getColumnIndexOrThrow(Telephony.Sms.DATE_SENT);
              } catch (IllegalArgumentException e) {
                  if (DEBUG) Log.w(TAG, e.getMessage());
              }
  
              try {
                  mColumnSmsType = cursor.getColumnIndexOrThrow(Telephony.Sms.TYPE);
              } catch (IllegalArgumentException e) {
                  if (DEBUG) Log.w(TAG, e.getMessage());
              }
  
              try {
                  mColumnSmsStatus = cursor.getColumnIndexOrThrow(Telephony.Sms.STATUS);
              } catch (IllegalArgumentException e) {
                  if (DEBUG) Log.w(TAG, e.getMessage());
              }
  
              try {
                  mColumnSmsLocked = cursor.getColumnIndexOrThrow(Telephony.Sms.LOCKED);
              } catch (IllegalArgumentException e) {
                  if (DEBUG) Log.w(TAG, e.getMessage());
              }
  
              try {
                  mColumnSmsErrorCode = cursor.getColumnIndexOrThrow(Telephony.Sms.ERROR_CODE);
              } catch (IllegalArgumentException e) {
                  if (DEBUG) Log.w(TAG, e.getMessage());
              }
  
              try {
                  mColumnMmsSubject = cursor.getColumnIndexOrThrow(Telephony.Mms.SUBJECT);
              } catch (IllegalArgumentException e) {
                  if (DEBUG) Log.w(TAG, e.getMessage());
              }
  
              try {
                  mColumnMmsSubjectCharset = cursor.getColumnIndexOrThrow(Telephony.Mms.SUBJECT_CHARSET);
              } catch (IllegalArgumentException e) {
                  if (DEBUG) Log.w(TAG, e.getMessage());
              }
  
              try {
                  mColumnMmsMessageType = cursor.getColumnIndexOrThrow(Telephony.Mms.MESSAGE_TYPE);
              } catch (IllegalArgumentException e) {
  