added onclicklistener to notificationlist
This commit is contained in:
@@ -20,7 +20,7 @@ import butterknife.Bind;
|
||||
import butterknife.ButterKnife;
|
||||
|
||||
|
||||
public class NotificationListAdapter extends CursorRecyclerViewAdapter<NotificationListAdapter.NotificationViewHolder> {
|
||||
public class NotificationListAdapter extends CursorRecyclerViewAdapter<NotificationListAdapter.NotificationViewHolder> implements View.OnClickListener {
|
||||
|
||||
class NotificationViewHolder extends RecyclerView.ViewHolder {
|
||||
|
||||
@@ -61,13 +61,25 @@ public class NotificationListAdapter extends CursorRecyclerViewAdapter<Notificat
|
||||
|
||||
Drawable smallIcon = PackageUtils.getApplicationDrawable(context, n.packageName, n.smallIconId);
|
||||
ivSmallIcon.setImageDrawable(smallIcon);
|
||||
|
||||
itemView.setTag(n.id);
|
||||
}
|
||||
}
|
||||
|
||||
interface NotificationClickListener {
|
||||
void onNotificationClick(long id);
|
||||
}
|
||||
|
||||
private NotificationClickListener mNotificationClickListener;
|
||||
|
||||
public NotificationListAdapter(Context context, Cursor cursor) {
|
||||
super(context, cursor);
|
||||
}
|
||||
|
||||
public void setNotificationClickListener(NotificationClickListener listener) {
|
||||
mNotificationClickListener = listener;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(NotificationViewHolder viewHolder, Cursor cursor) {
|
||||
LoggedNotification n = Logged_notificationTable.getRow(cursor, false);
|
||||
@@ -77,6 +89,16 @@ public class NotificationListAdapter extends CursorRecyclerViewAdapter<Notificat
|
||||
@Override
|
||||
public NotificationViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
|
||||
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.notification_list_item, parent, false);
|
||||
v.setOnClickListener(this);
|
||||
return new NotificationViewHolder(v);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if(mNotificationClickListener != null) {
|
||||
long id = (long) v.getTag();
|
||||
mNotificationClickListener.onNotificationClick(id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,13 +14,14 @@ import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import net.headlezz.notificationlogger.R;
|
||||
import net.headlezz.notificationlogger.logger.LoggedNotification;
|
||||
import net.headlezz.notificationlogger.logger.Logged_notificationTable;
|
||||
|
||||
import butterknife.Bind;
|
||||
import butterknife.ButterKnife;
|
||||
import timber.log.Timber;
|
||||
|
||||
public class NotificationListFragment extends Fragment implements LoaderManager.LoaderCallbacks<Cursor> {
|
||||
public class NotificationListFragment extends Fragment implements LoaderManager.LoaderCallbacks<Cursor>, NotificationListAdapter.NotificationClickListener {
|
||||
|
||||
final int LOADER_ID = 124;
|
||||
|
||||
@@ -32,6 +33,9 @@ public class NotificationListFragment extends Fragment implements LoaderManager.
|
||||
|
||||
private NotificationListAdapter mAdapter;
|
||||
|
||||
// TODO reload list if new notification arrives
|
||||
// TODO notification list divider
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
||||
@@ -46,6 +50,7 @@ public class NotificationListFragment extends Fragment implements LoaderManager.
|
||||
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
|
||||
super.onActivityCreated(savedInstanceState);
|
||||
mAdapter = new NotificationListAdapter(getContext(), null);
|
||||
mAdapter.setNotificationClickListener(this);
|
||||
mNotificationList.setAdapter(mAdapter);
|
||||
getLoaderManager().initLoader(LOADER_ID, Bundle.EMPTY, this);
|
||||
}
|
||||
@@ -86,4 +91,13 @@ public class NotificationListFragment extends Fragment implements LoaderManager.
|
||||
mNotificationList.setVisibility(View.VISIBLE);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNotificationClick(long id) {
|
||||
String qry = Logged_notificationTable.FIELD__ID + " = ? ";
|
||||
String[] args = { String.valueOf(id) };
|
||||
Cursor cursor = getContext().getContentResolver().query(Logged_notificationTable.CONTENT_URI, null, qry, args, null);
|
||||
LoggedNotification notification = Logged_notificationTable.getRow(cursor, true);
|
||||
Timber.e(notification.title);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
xmlns:andorid="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="horizontal"
|
||||
android:padding="8dp">
|
||||
android:padding="8dp"
|
||||
android:foreground="?attr/selectableItemBackground">
|
||||
|
||||
<ImageView
|
||||
android:layout_marginEnd="16dp"
|
||||
|
||||
Reference in New Issue
Block a user