summaryrefslogtreecommitdiff
path: root/src/com/android/cellbroadcastreceiver/CellBroadcastCursorAdapter.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/cellbroadcastreceiver/CellBroadcastCursorAdapter.java')
-rw-r--r--src/com/android/cellbroadcastreceiver/CellBroadcastCursorAdapter.java32
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);
+ }
+ }
}