Messaging: Get rid of onActivityResult()

We are supposed to use ActivityResultLaunchers, so do it that way

Change-Id: I070ec485097c927877b3e0eb4699addc9b9df873
This commit is contained in:
Michael W
2024-12-26 15:54:37 +01:00
parent 06bb0cc0e0
commit 6cc0e38bb5
3 changed files with 17 additions and 14 deletions
@@ -25,6 +25,8 @@ import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -41,6 +43,7 @@ import com.android.messaging.ui.UIIntents;
import com.android.messaging.ui.contact.AddContactsConfirmationDialog;
import com.android.messaging.ui.conversationlist.ConversationListFragment.ConversationListFragmentHost;
import com.android.messaging.ui.conversationlist.MultiSelectActionModeCallback.SelectedConversation;
import com.android.messaging.util.ChangeDefaultSmsAppHelper;
import com.android.messaging.util.PhoneUtils;
import com.android.messaging.util.UiUtils;
@@ -59,6 +62,19 @@ public abstract class AbstractConversationListActivity extends BugleActionBarAct
protected ConversationListFragment mConversationListFragment;
private ChangeDefaultSmsAppHelper mChangeDefaultSmsAppHelper;
private final ActivityResultLauncher<Intent> mLauncher = registerForActivityResult(
new ActivityResultContracts.StartActivityForResult(), result -> {
if (result.getResultCode() == Activity.RESULT_OK) {
if (mChangeDefaultSmsAppHelper == null) {
mChangeDefaultSmsAppHelper = new ChangeDefaultSmsAppHelper();
}
mChangeDefaultSmsAppHelper.handleChangeDefaultSmsResult(
REQUEST_SET_DEFAULT_SMS_APP, result.getResultCode(), null);
}
});
@Override
public void onBackPressed() {
// If action mode is active dismiss it
@@ -101,7 +117,7 @@ public abstract class AbstractConversationListActivity extends BugleActionBarAct
SnackBar.Action.createCustomAction(() -> {
final Intent intent =
UIIntents.get().getChangeDefaultSmsAppIntent(activity);
startActivityForResult(intent, REQUEST_SET_DEFAULT_SMS_APP);
mLauncher.launch(intent);
},
getString(R.string.requires_default_sms_change_button)),
null /* interactions */,