Add remote wipe menu item to ConversationActivity

This commit is contained in:
ameba23
2021-05-17 17:14:58 +02:00
parent 7d86ec5510
commit d8a0b6f877
6 changed files with 37 additions and 4 deletions

View File

@@ -39,7 +39,7 @@ import org.briarproject.briar.android.login.LoginModule;
import org.briarproject.briar.android.navdrawer.NavDrawerModule; import org.briarproject.briar.android.navdrawer.NavDrawerModule;
import org.briarproject.briar.android.privategroup.conversation.GroupConversationModule; import org.briarproject.briar.android.privategroup.conversation.GroupConversationModule;
import org.briarproject.briar.android.privategroup.list.GroupListModule; import org.briarproject.briar.android.privategroup.list.GroupListModule;
import org.briarproject.briar.android.remotewipe.RemoteWipeSetupModule; import org.briarproject.briar.android.remotewipe.RemoteWipeModule;
import org.briarproject.briar.android.reporting.DevReportModule; import org.briarproject.briar.android.reporting.DevReportModule;
import org.briarproject.briar.android.settings.SettingsModule; import org.briarproject.briar.android.settings.SettingsModule;
import org.briarproject.briar.android.sharing.SharingModule; import org.briarproject.briar.android.sharing.SharingModule;
@@ -96,7 +96,7 @@ import static org.briarproject.briar.android.TestingConstants.IS_DEBUG_BUILD;
SharingModule.class, SharingModule.class,
OwnerReturnShardModule.class, OwnerReturnShardModule.class,
CustodianReturnShardModule.class, CustodianReturnShardModule.class,
RemoteWipeSetupModule.class RemoteWipeModule.class
}) })
public class AppModule { public class AppModule {

View File

@@ -52,6 +52,7 @@ import org.briarproject.briar.android.conversation.ConversationVisitor.TextCache
import org.briarproject.briar.android.forum.ForumActivity; import org.briarproject.briar.android.forum.ForumActivity;
import org.briarproject.briar.android.introduction.IntroductionActivity; import org.briarproject.briar.android.introduction.IntroductionActivity;
import org.briarproject.briar.android.privategroup.conversation.GroupActivity; import org.briarproject.briar.android.privategroup.conversation.GroupActivity;
import org.briarproject.briar.android.remotewipe.activate.ActivateRemoteWipeActivity;
import org.briarproject.briar.android.socialbackup.recover.CustodianReturnShardActivity; import org.briarproject.briar.android.socialbackup.recover.CustodianReturnShardActivity;
import org.briarproject.briar.android.util.BriarSnackbarBuilder; import org.briarproject.briar.android.util.BriarSnackbarBuilder;
import org.briarproject.briar.android.view.BriarRecyclerView; import org.briarproject.briar.android.view.BriarRecyclerView;
@@ -403,6 +404,12 @@ public class ConversationActivity extends BriarActivity
i.putExtra(CONTACT_ID, contactId.getInt()); i.putExtra(CONTACT_ID, contactId.getInt());
startActivity(i); startActivity(i);
return true; return true;
case R.id.action_remote_wipe:
if (contactId == null) return false;
Intent r = new Intent(this, ActivateRemoteWipeActivity.class);
r.putExtra(CONTACT_ID, contactId.getInt());
startActivity(r);
return true;
default: default:
return super.onOptionsItemSelected(item); return super.onOptionsItemSelected(item);
} }

View File

@@ -1,5 +1,6 @@
package org.briarproject.briar.android.remotewipe; package org.briarproject.briar.android.remotewipe;
import org.briarproject.briar.android.remotewipe.activate.ActivateRemoteWipeViewModel;
import org.briarproject.briar.android.viewmodel.ViewModelKey; import org.briarproject.briar.android.viewmodel.ViewModelKey;
import androidx.lifecycle.ViewModel; import androidx.lifecycle.ViewModel;
@@ -8,11 +9,17 @@ import dagger.Module;
import dagger.multibindings.IntoMap; import dagger.multibindings.IntoMap;
@Module @Module
public abstract class RemoteWipeSetupModule { public abstract class RemoteWipeModule {
@Binds @Binds
@IntoMap @IntoMap
@ViewModelKey(RemoteWipeSetupViewModel.class) @ViewModelKey(RemoteWipeSetupViewModel.class)
abstract ViewModel bindRemoteWipeSetupViewModel( abstract ViewModel bindRemoteWipeSetupViewModel(
RemoteWipeSetupViewModel remoteWipeSetupViewModel); RemoteWipeSetupViewModel remoteWipeSetupViewModel);
@Binds
@IntoMap
@ViewModelKey(ActivateRemoteWipeViewModel.class)
abstract ViewModel bindActivateRemoteWipeViewModel(
ActivateRemoteWipeViewModel activateRemoteWipeViewModel);
} }

View File

@@ -1,4 +1,16 @@
package org.briarproject.briar.android.remotewipe.activate; package org.briarproject.briar.android.remotewipe.activate;
public class ActivateRemoteWipeViewModel { import android.app.Application;
import javax.inject.Inject;
import androidx.annotation.NonNull;
import androidx.lifecycle.AndroidViewModel;
public class ActivateRemoteWipeViewModel extends AndroidViewModel {
@Inject
public ActivateRemoteWipeViewModel(
@NonNull Application application) {
super(application);
}
} }

View File

@@ -32,4 +32,10 @@
android:icon="@drawable/introduction_white" android:icon="@drawable/introduction_white"
android:title="@string/help_recover_account" android:title="@string/help_recover_account"
app:showAsAction="never"/> app:showAsAction="never"/>
<item
android:id="@+id/action_remote_wipe"
android:icon="@drawable/action_delete_white"
android:title="@string/activate_remote_wipe"
app:showAsAction="never"/>
</menu> </menu>

View File

@@ -744,5 +744,6 @@
<string name="remote_wipe_setup_sent">You have added this contact as a remote wiper.</string> <string name="remote_wipe_setup_sent">You have added this contact as a remote wiper.</string>
<string name="activity_name_remote_wipe">Remote Wipe</string> <string name="activity_name_remote_wipe">Remote Wipe</string>
<string name="assigned_wipers">Your assigned trusted wipers</string> <string name="assigned_wipers">Your assigned trusted wipers</string>
<string name="activate_remote_wipe">Activate remote wipe</string>
</resources> </resources>