mirror of
https://github.com/oxen-io/session-android.git
synced 2024-11-24 18:45:19 +00:00
a4e18c515c
Closes #2647 // FREEBIE
79 lines
2.2 KiB
Java
79 lines
2.2 KiB
Java
package org.thoughtcrime.securesms.components;
|
|
|
|
import android.annotation.TargetApi;
|
|
import android.content.Context;
|
|
import android.os.Build.VERSION_CODES;
|
|
import android.util.AttributeSet;
|
|
import android.view.LayoutInflater;
|
|
import android.view.View;
|
|
import android.view.ViewGroup;
|
|
import android.widget.Button;
|
|
import android.widget.ImageButton;
|
|
import android.widget.ImageView;
|
|
import android.widget.LinearLayout;
|
|
import android.widget.TextView;
|
|
|
|
import org.thoughtcrime.securesms.R;
|
|
|
|
/**
|
|
* View to display actionable reminders to the user
|
|
*/
|
|
public class ReminderView extends LinearLayout {
|
|
private ViewGroup container;
|
|
private ImageButton cancel;
|
|
private TextView title;
|
|
private TextView text;
|
|
private ImageView icon;
|
|
|
|
public ReminderView(Context context) {
|
|
super(context);
|
|
initialize();
|
|
}
|
|
|
|
public ReminderView(Context context, AttributeSet attrs) {
|
|
super(context, attrs);
|
|
initialize();
|
|
}
|
|
|
|
@TargetApi(VERSION_CODES.HONEYCOMB)
|
|
public ReminderView(Context context, AttributeSet attrs, int defStyleAttr) {
|
|
super(context, attrs, defStyleAttr);
|
|
initialize();
|
|
}
|
|
|
|
private void initialize() {
|
|
LayoutInflater.from(getContext()).inflate(R.layout.reminder_header, this, true);
|
|
container = (ViewGroup ) findViewById(R.id.container);
|
|
cancel = (ImageButton) findViewById(R.id.cancel);
|
|
title = (TextView ) findViewById(R.id.reminder_title);
|
|
text = (TextView ) findViewById(R.id.reminder_text);
|
|
icon = (ImageView ) findViewById(R.id.icon);
|
|
}
|
|
|
|
public void showReminder(final Reminder reminder) {
|
|
icon.setImageResource(reminder.getIconResId());
|
|
title.setText(reminder.getTitleResId());
|
|
text.setText(reminder.getTextResId());
|
|
|
|
this.setOnClickListener(reminder.getOkListener());
|
|
|
|
if (reminder.isDismissable()) {
|
|
cancel.setOnClickListener(new OnClickListener() {
|
|
@Override
|
|
public void onClick(View v) {
|
|
hide();
|
|
if (reminder.getCancelListener() != null) reminder.getCancelListener().onClick(v);
|
|
}
|
|
});
|
|
} else {
|
|
cancel.setVisibility(View.GONE);
|
|
}
|
|
|
|
container.setVisibility(View.VISIBLE);
|
|
}
|
|
|
|
public void hide() {
|
|
container.setVisibility(View.GONE);
|
|
}
|
|
}
|