diff options
Diffstat (limited to 'src/com/android/cellbroadcastreceiver/CellBroadcastCursorAdapter.java')
-rw-r--r-- | src/com/android/cellbroadcastreceiver/CellBroadcastCursorAdapter.java | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/src/com/android/cellbroadcastreceiver/CellBroadcastCursorAdapter.java b/src/com/android/cellbroadcastreceiver/CellBroadcastCursorAdapter.java index 5159b892c..c27b7cd02 100644 --- a/src/com/android/cellbroadcastreceiver/CellBroadcastCursorAdapter.java +++ b/src/com/android/cellbroadcastreceiver/CellBroadcastCursorAdapter.java @@ -24,9 +24,11 @@ import android.telephony.SmsCbEtwsInfo; import android.telephony.SmsCbLocation; import android.telephony.SmsCbMessage; import android.telephony.SubscriptionManager; +import android.util.ArrayMap; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.CheckedTextView; import android.widget.CursorAdapter; /** @@ -34,9 +36,14 @@ import android.widget.CursorAdapter; */ public class CellBroadcastCursorAdapter extends CursorAdapter { - public CellBroadcastCursorAdapter(Context context) { + private static boolean sIsActionMode = false; + private CheckedTextView mCheckedTextView; + private ArrayMap<Integer, Long> mSelectedMessages; + + public CellBroadcastCursorAdapter(Context context, ArrayMap<Integer, Long> selectedMessages) { // don't set FLAG_AUTO_REQUERY or FLAG_REGISTER_CONTENT_OBSERVER super(context, null, 0); + mSelectedMessages = selectedMessages; } /** @@ -215,6 +222,29 @@ public class CellBroadcastCursorAdapter extends CursorAdapter { public void bindView(View view, Context context, Cursor cursor) { SmsCbMessage message = createFromCursor(context, cursor); CellBroadcastListItem listItem = (CellBroadcastListItem) view; + mCheckedTextView = view.findViewById(R.id.checkBox); + updateCheckTextViewVisibility(); + checkIsSelected(cursor.getPosition()); listItem.bind(message); } + + static void setIsActionMode(boolean value) { + sIsActionMode = value; + } + + void updateCheckTextViewVisibility() { + if (sIsActionMode) { + mCheckedTextView.setVisibility(View.VISIBLE); + } else { + mCheckedTextView.setVisibility(View.GONE); + } + } + + void checkIsSelected(int position) { + if (mSelectedMessages.containsKey(position)) { + mCheckedTextView.setChecked(true); + } else { + mCheckedTextView.setChecked(false); + } + } } |