mirror of
https://github.com/ArcaneChat/android.git
synced 2026-07-03 14:05:24 +02:00
Merge remote-tracking branch 'upstream/master' into deltalab
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ScrollView android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="16dp"
|
||||
android:orientation="vertical">
|
||||
<RadioGroup
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:id="@+id/optionsContainer"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/description"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingTop="16dp"
|
||||
/>
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
<string name="unarchive">Unarchive</string>
|
||||
<string name="mute">Mute</string>
|
||||
<string name="ephemeral_messages">Disappearing messages</string>
|
||||
<string name="ephemeral_messages_hint">These settings apply to all participants using Delta Chat. However, they may copy, save and forward messages or use other e-mail clients.</string>
|
||||
<string name="save">Save</string>
|
||||
<string name="chat">Chat</string>
|
||||
<string name="media">Media</string>
|
||||
|
||||
@@ -2,9 +2,17 @@ package org.thoughtcrime.securesms;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.RadioButton;
|
||||
import android.widget.RadioGroup;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.core.widget.TextViewCompat;
|
||||
|
||||
import org.thoughtcrime.securesms.util.ViewUtil;
|
||||
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
@@ -17,8 +25,38 @@ public class EphemeralMessagesDialog {
|
||||
int preselected = getPreselection(currentSelectedTime);
|
||||
final int[] selectedChoice = new int[]{preselected};
|
||||
|
||||
View dialogView = View.inflate(context, R.layout.dialog_extended_options, null);
|
||||
RadioGroup container = dialogView.findViewById(R.id.optionsContainer);
|
||||
for (CharSequence choice : choices) {
|
||||
|
||||
RadioButton radioButton = new RadioButton(context);
|
||||
radioButton.setText(choice);
|
||||
TextViewCompat.setTextAppearance(radioButton, android.R.style.TextAppearance_Medium);
|
||||
|
||||
RadioGroup.LayoutParams params = new RadioGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
|
||||
params.setMargins(0, 0, 0, ViewUtil.dpToPx(context, 8));
|
||||
radioButton.setLayoutParams(params);
|
||||
container.addView(radioButton);
|
||||
}
|
||||
|
||||
container.setOnCheckedChangeListener((group, checkedId) -> {
|
||||
int childCount = group.getChildCount();
|
||||
for (int x = 0; x < childCount; x++) {
|
||||
RadioButton btn = (RadioButton) group.getChildAt(x);
|
||||
if (btn.getId() == checkedId) {
|
||||
selectedChoice[0] = x;
|
||||
}
|
||||
}
|
||||
});
|
||||
container.check(container.getChildAt(preselected).getId());
|
||||
|
||||
TextView messageView = dialogView.findViewById(R.id.description);
|
||||
messageView.setText(context.getString(R.string.ephemeral_messages_hint));
|
||||
|
||||
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(context)
|
||||
.setTitle(R.string.ephemeral_messages)
|
||||
.setView(dialogView)
|
||||
.setNegativeButton(R.string.cancel, null)
|
||||
.setPositiveButton(R.string.ok, (dialog, which) -> {
|
||||
final long burnAfter;
|
||||
@@ -32,10 +70,7 @@ public class EphemeralMessagesDialog {
|
||||
default: burnAfter = 0; break;
|
||||
}
|
||||
listener.onTimeSelected(burnAfter);
|
||||
})
|
||||
.setSingleChoiceItems(choices, preselected, ((dialog, which) -> {
|
||||
selectedChoice[0] = which;
|
||||
}));
|
||||
});
|
||||
builder.show();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user