Search in sources :

Example 1 with AbandonHandler

use of com.odysee.app.tasks.claim.AbandonHandler in project odysee-android by OdyseeTeam.

the class PublishesFragment method handleDeleteSelectedClaims.

private void handleDeleteSelectedClaims(List<Claim> selectedClaims) {
    List<String> claimIds = new ArrayList<>();
    for (Claim claim : selectedClaims) {
        claimIds.add(claim.getClaimId());
    }
    if (actionMode != null) {
        actionMode.finish();
    }
    Helper.setViewVisibility(contentList, View.INVISIBLE);
    Helper.setViewVisibility(fabNewPublish, View.INVISIBLE);
    AbandonStreamTask task = new AbandonStreamTask(claimIds, bigLoading, new AbandonHandler() {

        @Override
        public void onComplete(List<String> successfulClaimIds, List<String> failedClaimIds, List<Exception> errors) {
            View root = getView();
            if (root != null) {
                if (failedClaimIds.size() > 0) {
                    Snackbar.make(root, R.string.one_or_more_publishes_failed_abandon, Snackbar.LENGTH_LONG).setBackgroundTint(Color.RED).setTextColor(Color.WHITE).show();
                } else if (successfulClaimIds.size() == claimIds.size()) {
                    try {
                        String message = getResources().getQuantityString(R.plurals.publishes_deleted, successfulClaimIds.size());
                        Snackbar.make(root, message, Snackbar.LENGTH_LONG).show();
                    } catch (IllegalStateException ex) {
                    // pass
                    }
                }
            }
            Lbry.abandonedClaimIds.addAll(successfulClaimIds);
            if (adapter != null) {
                adapter.setItems(Helper.filterDeletedClaims(adapter.getItems()));
            }
            Helper.setViewVisibility(contentList, View.VISIBLE);
            Helper.setViewVisibility(fabNewPublish, View.VISIBLE);
            checkNoPublishes();
        }
    });
    task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
}
Also used : AbandonStreamTask(com.odysee.app.tasks.claim.AbandonStreamTask) ArrayList(java.util.ArrayList) AbandonHandler(com.odysee.app.tasks.claim.AbandonHandler) View(android.view.View) RecyclerView(androidx.recyclerview.widget.RecyclerView) Claim(com.odysee.app.model.Claim)

Example 2 with AbandonHandler

use of com.odysee.app.tasks.claim.AbandonHandler in project odysee-android by OdyseeTeam.

the class FileViewFragment method deleteCurrentClaim.

private void deleteCurrentClaim() {
    Claim actualClaim = collectionClaimItem != null ? collectionClaimItem : fileClaim;
    if (actualClaim != null) {
        Helper.setViewVisibility(layoutDisplayArea, View.INVISIBLE);
        Helper.setViewVisibility(layoutLoadingState, View.VISIBLE);
        Helper.setViewVisibility(layoutNothingAtLocation, View.GONE);
        AbandonStreamTask task = new AbandonStreamTask(Arrays.asList(actualClaim.getClaimId()), layoutResolving, new AbandonHandler() {

            @Override
            public void onComplete(List<String> successfulClaimIds, List<String> failedClaimIds, List<Exception> errors) {
                Context context = getContext();
                if (context instanceof MainActivity) {
                    if (failedClaimIds.size() == 0) {
                        MainActivity activity = (MainActivity) context;
                        activity.showMessage(R.string.content_deleted);
                        activity.onBackPressed();
                    } else {
                        showError(getString(R.string.content_failed_delete));
                    }
                }
            }
        });
        task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
    }
}
Also used : AttributeProviderContext(org.commonmark.renderer.html.AttributeProviderContext) Context(android.content.Context) AbandonStreamTask(com.odysee.app.tasks.claim.AbandonStreamTask) AbandonHandler(com.odysee.app.tasks.claim.AbandonHandler) MainActivity(com.odysee.app.MainActivity) TrackSelectionOverride(com.google.android.exoplayer2.trackselection.TrackSelectionOverrides.TrackSelectionOverride) Claim(com.odysee.app.model.Claim) LbryRequestException(com.odysee.app.exceptions.LbryRequestException) JSONException(org.json.JSONException) LbryUriException(com.odysee.app.exceptions.LbryUriException) IOException(java.io.IOException) ExecutionException(java.util.concurrent.ExecutionException) LbryResponseException(com.odysee.app.exceptions.LbryResponseException) LbryioRequestException(com.odysee.app.exceptions.LbryioRequestException) LbryioResponseException(com.odysee.app.exceptions.LbryioResponseException) ApiCallException(com.odysee.app.exceptions.ApiCallException)

Example 3 with AbandonHandler

use of com.odysee.app.tasks.claim.AbandonHandler in project odysee-android by OdyseeTeam.

the class ChannelFragment method deleteCurrentClaim.

private void deleteCurrentClaim() {
    if (claim != null) {
        Helper.setViewVisibility(layoutDisplayArea, View.GONE);
        Helper.setViewVisibility(layoutLoadingState, View.VISIBLE);
        AbandonChannelTask task = new AbandonChannelTask(Collections.singletonList(claim.getClaimId()), layoutResolving, Lbryio.AUTH_TOKEN, new AbandonHandler() {

            @Override
            public void onComplete(List<String> successfulClaimIds, List<String> failedClaimIds, List<Exception> errors) {
                Context context = getContext();
                if (context instanceof MainActivity) {
                    if (failedClaimIds.size() == 0) {
                        MainActivity activity = (MainActivity) context;
                        activity.showMessage(R.string.channel_deleted);
                        activity.onBackPressed();
                    } else {
                        View root = getView();
                        if (root != null) {
                            Snackbar.make(root, R.string.channel_failed_delete, Snackbar.LENGTH_LONG).setBackgroundTint(Color.RED).setTextColor(Color.WHITE).show();
                        }
                    }
                }
            }
        });
        task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
    }
}
Also used : Context(android.content.Context) AbandonChannelTask(com.odysee.app.tasks.claim.AbandonChannelTask) AbandonHandler(com.odysee.app.tasks.claim.AbandonHandler) MainActivity(com.odysee.app.MainActivity) ImageView(android.widget.ImageView) View(android.view.View) TextView(android.widget.TextView) SolidIconView(com.odysee.app.ui.controls.SolidIconView) OutlineIconView(com.odysee.app.ui.controls.OutlineIconView) LbryUriException(com.odysee.app.exceptions.LbryUriException)

Example 4 with AbandonHandler

use of com.odysee.app.tasks.claim.AbandonHandler in project odysee-android by OdyseeTeam.

the class ChannelManagerFragment method handleDeleteSelectedClaims.

private void handleDeleteSelectedClaims(List<Claim> selectedClaims) {
    List<String> claimIds = new ArrayList<>();
    for (Claim claim : selectedClaims) {
        claimIds.add(claim.getClaimId());
    }
    if (actionMode != null) {
        actionMode.finish();
    }
    Helper.setViewVisibility(channelList, View.INVISIBLE);
    Helper.setViewVisibility(fabNewChannel, View.INVISIBLE);
    AbandonChannelTask task = new AbandonChannelTask(claimIds, bigLoading, Lbryio.AUTH_TOKEN, new AbandonHandler() {

        @Override
        public void onComplete(List<String> successfulClaimIds, List<String> failedClaimIds, List<Exception> errors) {
            View root = getView();
            if (root != null) {
                if (failedClaimIds.size() > 0) {
                    Snackbar.make(root, R.string.one_or_more_channels_failed_abandon, Snackbar.LENGTH_LONG).setBackgroundTint(Color.RED).setTextColor(Color.WHITE).show();
                } else if (successfulClaimIds.size() == claimIds.size()) {
                    try {
                        String message = getResources().getQuantityString(R.plurals.channels_deleted, successfulClaimIds.size());
                        Snackbar.make(root, message, Snackbar.LENGTH_LONG).show();
                    } catch (IllegalStateException ex) {
                    // pass
                    }
                }
            }
            Lbry.abandonedClaimIds.addAll(successfulClaimIds);
            if (adapter != null) {
                adapter.setItems(Helper.filterDeletedClaims(adapter.getItems()));
            }
            Helper.setViewVisibility(channelList, View.VISIBLE);
            Helper.setViewVisibility(fabNewChannel, View.VISIBLE);
            checkNoChannels();
        }
    });
    task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
}
Also used : AbandonChannelTask(com.odysee.app.tasks.claim.AbandonChannelTask) ArrayList(java.util.ArrayList) AbandonHandler(com.odysee.app.tasks.claim.AbandonHandler) View(android.view.View) RecyclerView(androidx.recyclerview.widget.RecyclerView) Claim(com.odysee.app.model.Claim)

Aggregations

AbandonHandler (com.odysee.app.tasks.claim.AbandonHandler)4 View (android.view.View)3 Claim (com.odysee.app.model.Claim)3 Context (android.content.Context)2 RecyclerView (androidx.recyclerview.widget.RecyclerView)2 MainActivity (com.odysee.app.MainActivity)2 LbryUriException (com.odysee.app.exceptions.LbryUriException)2 AbandonChannelTask (com.odysee.app.tasks.claim.AbandonChannelTask)2 AbandonStreamTask (com.odysee.app.tasks.claim.AbandonStreamTask)2 ArrayList (java.util.ArrayList)2 ImageView (android.widget.ImageView)1 TextView (android.widget.TextView)1 TrackSelectionOverride (com.google.android.exoplayer2.trackselection.TrackSelectionOverrides.TrackSelectionOverride)1 ApiCallException (com.odysee.app.exceptions.ApiCallException)1 LbryRequestException (com.odysee.app.exceptions.LbryRequestException)1 LbryResponseException (com.odysee.app.exceptions.LbryResponseException)1 LbryioRequestException (com.odysee.app.exceptions.LbryioRequestException)1 LbryioResponseException (com.odysee.app.exceptions.LbryioResponseException)1 OutlineIconView (com.odysee.app.ui.controls.OutlineIconView)1 SolidIconView (com.odysee.app.ui.controls.SolidIconView)1