Add simple draft actvity/fragment for conversation settings

This commit is contained in:
Sebastian Kürten
2020-12-11 10:47:43 +01:00
parent e313f61b9e
commit 87b200f0b5
8 changed files with 111 additions and 1 deletions

View File

@@ -141,6 +141,15 @@
android:value="org.briarproject.briar.android.conversation.ConversationActivity" />
</activity>
<activity
android:name=".android.conversation.ConversationSettingsActivity"
android:parentActivityName="org.briarproject.briar.android.conversation.ConversationActivity"
android:theme="@style/BriarTheme">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="org.briarproject.briar.android.conversation.ConversationActivity" />
</activity>
<activity
android:name="org.briarproject.briar.android.privategroup.creation.CreateGroupActivity"
android:label="@string/groups_create_group_title"

View File

@@ -28,6 +28,7 @@ import org.briarproject.briar.android.contact.add.remote.NicknameFragment;
import org.briarproject.briar.android.contact.add.remote.PendingContactListActivity;
import org.briarproject.briar.android.conversation.AliasDialogFragment;
import org.briarproject.briar.android.conversation.ConversationActivity;
import org.briarproject.briar.android.conversation.ConversationSettingsActivity;
import org.briarproject.briar.android.conversation.ImageActivity;
import org.briarproject.briar.android.conversation.ImageFragment;
import org.briarproject.briar.android.forum.CreateForumActivity;
@@ -184,6 +185,8 @@ public interface ActivityComponent {
void inject(PendingContactListActivity activity);
void inject(ConversationSettingsActivity activity);
// Fragments
void inject(AuthorNameFragment fragment);

View File

@@ -416,7 +416,10 @@ public class ConversationActivity extends BriarActivity
item.setChecked(enabled);
return true;
case R.id.action_conversation_settings:
// TODO: show settings
if (contactId == null) return false;
intent = new Intent(this, ConversationSettingsActivity.class);
intent.putExtra(CONTACT_ID, contactId.getInt());
startActivity(intent);
return true;
case R.id.action_delete_all_messages:
askToDeleteAllMessages();

View File

@@ -0,0 +1,41 @@
package org.briarproject.briar.android.conversation;
import android.os.Bundle;
import android.view.MenuItem;
import org.briarproject.briar.R;
import org.briarproject.briar.android.activity.ActivityComponent;
import org.briarproject.briar.android.activity.BriarActivity;
import androidx.appcompat.app.ActionBar;
public class ConversationSettingsActivity extends BriarActivity {
@Override
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.setHomeButtonEnabled(true);
actionBar.setDisplayHomeAsUpEnabled(true);
}
setContentView(R.layout.activity_conversation_settings);
}
@Override
public void injectActivity(ActivityComponent component) {
component.inject(this);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) {
onBackPressed();
return true;
}
return false;
}
}

View File

@@ -0,0 +1,16 @@
package org.briarproject.briar.android.conversation;
import android.os.Bundle;
import org.briarproject.briar.R;
import androidx.preference.PreferenceFragmentCompat;
public class ConversationSettingsFragment extends PreferenceFragmentCompat {
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
addPreferencesFromResource(R.xml.conversation_settings);
}
}

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<fragment
android:id="@+id/fragment"
android:name="org.briarproject.briar.android.conversation.ConversationSettingsFragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</FrameLayout>

View File

@@ -547,6 +547,12 @@
<string name="choose_ringtone_title">Choose ringtone</string>
<string name="cannot_load_ringtone">Cannot load ringtone</string>
<!-- Conversation Settings -->
<string name="disappearing_messages_title">Disappearing messages</string>
<string name="disappearing_messages_summary">Define a timeout after which messages self-destruct</string>
<string name="disappearing_messages_timeout_title">Self-destruct Timeout</string>
<string name="disappearing_messages_timeout_summary">7 days</string>
<!-- Settings Feedback -->
<string name="feedback_settings_title">Feedback</string>
<string name="send_feedback">Send feedback</string>

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<SwitchPreference
android:defaultValue="true"
android:key="pref_key_lock"
android:summary="@string/disappearing_messages_summary"
android:title="@string/disappearing_messages_title"
app:iconSpaceReserved="false"/>
<Preference
android:defaultValue="false"
android:enabled="false"
android:key="pref_key_purge"
android:summary="@string/disappearing_messages_timeout_summary"
android:title="@string/disappearing_messages_timeout_title"
app:iconSpaceReserved="false"/>
</PreferenceScreen>