Skip to content

Commit cae160b

Browse files
committed
Fix onActivityResult deprecation in SubscriptionsImportFragment
1 parent aa4e5da commit cae160b

1 file changed

Lines changed: 12 additions & 11 deletions

File tree

app/src/main/java/org/schabi/newpipe/local/subscription/SubscriptionsImportFragment.java

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@
1212
import android.widget.EditText;
1313
import android.widget.TextView;
1414

15+
import androidx.activity.result.ActivityResult;
16+
import androidx.activity.result.ActivityResultLauncher;
17+
import androidx.activity.result.contract.ActivityResultContracts.StartActivityForResult;
1518
import androidx.annotation.NonNull;
1619
import androidx.annotation.Nullable;
1720
import androidx.annotation.StringRes;
@@ -27,14 +30,14 @@
2730
import org.schabi.newpipe.extractor.exceptions.ExtractionException;
2831
import org.schabi.newpipe.extractor.subscription.SubscriptionExtractor;
2932
import org.schabi.newpipe.local.subscription.services.SubscriptionsImportService;
33+
import org.schabi.newpipe.streams.io.StoredFileHelper;
3034
import org.schabi.newpipe.util.Constants;
3135
import org.schabi.newpipe.util.ServiceHelper;
3236

3337
import java.util.Collections;
3438
import java.util.List;
3539

3640
import icepick.State;
37-
import org.schabi.newpipe.streams.io.StoredFileHelper;
3841

3942
import static org.schabi.newpipe.extractor.subscription.SubscriptionExtractor.ContentSource.CHANNEL_URL;
4043
import static org.schabi.newpipe.local.subscription.services.SubscriptionsImportService.CHANNEL_URL_MODE;
@@ -43,8 +46,6 @@
4346
import static org.schabi.newpipe.local.subscription.services.SubscriptionsImportService.KEY_VALUE;
4447

4548
public class SubscriptionsImportFragment extends BaseFragment {
46-
private static final int REQUEST_IMPORT_FILE_CODE = 666;
47-
4849
@State
4950
int currentServiceId = Constants.NO_SERVICE_ID;
5051

@@ -62,6 +63,9 @@ public class SubscriptionsImportFragment extends BaseFragment {
6263
private EditText inputText;
6364
private Button inputButton;
6465

66+
private final ActivityResultLauncher<Intent> requestImportFileLauncher =
67+
registerForActivityResult(new StartActivityForResult(), this::requestImportFileResult);
68+
6569
public static SubscriptionsImportFragment getInstance(final int serviceId) {
6670
final SubscriptionsImportFragment instance = new SubscriptionsImportFragment();
6771
instance.setInitialData(serviceId);
@@ -173,22 +177,19 @@ public void onImportUrl(final String value) {
173177
}
174178

175179
public void onImportFile() {
176-
startActivityForResult(StoredFileHelper.getPicker(activity), REQUEST_IMPORT_FILE_CODE);
180+
requestImportFileLauncher.launch(StoredFileHelper.getPicker(activity));
177181
}
178182

179-
@Override
180-
public void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
181-
super.onActivityResult(requestCode, resultCode, data);
182-
if (data == null) {
183+
private void requestImportFileResult(final ActivityResult result) {
184+
if (result.getData() == null) {
183185
return;
184186
}
185187

186-
if (resultCode == Activity.RESULT_OK && requestCode == REQUEST_IMPORT_FILE_CODE
187-
&& data.getData() != null) {
188+
if (result.getResultCode() == Activity.RESULT_OK && result.getData().getData() != null) {
188189
ImportConfirmationDialog.show(this,
189190
new Intent(activity, SubscriptionsImportService.class)
190191
.putExtra(KEY_MODE, INPUT_STREAM_MODE)
191-
.putExtra(KEY_VALUE, data.getData())
192+
.putExtra(KEY_VALUE, result.getData().getData())
192193
.putExtra(Constants.KEY_SERVICE_ID, currentServiceId));
193194
}
194195
}

0 commit comments

Comments
 (0)