mirror of
				https://github.com/KokaKiwi/BarInsta
				synced 2025-11-03 21:15:35 +00:00 
			
		
		
		
	setup CommentAction to be moved to its own file
This commit is contained in:
		
							parent
							
								
									7baa8c2b49
								
							
						
					
					
						commit
						78955cd73f
					
				@ -207,13 +207,39 @@ public final class DirectMessageThread extends BaseLanguageActivity {
 | 
			
		||||
    private final View.OnClickListener newCommentListener = v -> {
 | 
			
		||||
        if (Utils.isEmpty(dmsBinding.commentText.getText().toString()) && v == dmsBinding.commentSend)
 | 
			
		||||
            Toast.makeText(getApplicationContext(), R.string.comment_send_empty_comment, Toast.LENGTH_SHORT).show();
 | 
			
		||||
        else if (v == dmsBinding.commentSend) new CommentAction().execute();
 | 
			
		||||
        else if (v == dmsBinding.commentSend) {
 | 
			
		||||
            final CommentAction action = new CommentAction(dmsBinding.commentText.getText().toString(), threadid);
 | 
			
		||||
            action.setOnTaskCompleteListener(new CommentAction.OnTaskCompleteListener() {
 | 
			
		||||
                @Override
 | 
			
		||||
                public void onTaskComplete(boolean ok) {
 | 
			
		||||
                    if (!ok) {
 | 
			
		||||
                        Toast.makeText(getApplicationContext(), R.string.downloader_unknown_error, Toast.LENGTH_SHORT).show();
 | 
			
		||||
                        return;
 | 
			
		||||
                    }
 | 
			
		||||
                    dmsBinding.commentText.setText("");
 | 
			
		||||
                    dmsBinding.commentText.clearFocus();
 | 
			
		||||
                    directItemModels.clear();
 | 
			
		||||
                    messageItemsAdapter.notifyDataSetChanged();
 | 
			
		||||
                    new UserInboxFetcher(threadid, UserInboxDirection.OLDER, null, fetchListener).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
 | 
			
		||||
                }
 | 
			
		||||
            });
 | 
			
		||||
            action.execute();
 | 
			
		||||
        }
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    class CommentAction extends AsyncTask<Void, Void, Void> {
 | 
			
		||||
        boolean ok = false;
 | 
			
		||||
    public static class CommentAction extends AsyncTask<Void, Void, Boolean> {
 | 
			
		||||
        private final String text;
 | 
			
		||||
        private final String threadId;
 | 
			
		||||
 | 
			
		||||
        protected Void doInBackground(Void... lmao) {
 | 
			
		||||
        private OnTaskCompleteListener listener;
 | 
			
		||||
 | 
			
		||||
        public CommentAction(String text, String threadId) {
 | 
			
		||||
            this.text = text;
 | 
			
		||||
            this.threadId = threadId;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        protected Boolean doInBackground(Void... lmao) {
 | 
			
		||||
            boolean ok = false;
 | 
			
		||||
            final String url2 = "https://i.instagram.com/api/v1/direct_v2/threads/broadcast/text/";
 | 
			
		||||
            final String cookie = settingsHelper.getString(Constants.COOKIE);
 | 
			
		||||
            try {
 | 
			
		||||
@ -221,7 +247,7 @@ public final class DirectMessageThread extends BaseLanguageActivity {
 | 
			
		||||
                urlConnection2.setRequestMethod("POST");
 | 
			
		||||
                urlConnection2.setRequestProperty("User-Agent", Constants.I_USER_AGENT);
 | 
			
		||||
                urlConnection2.setUseCaches(false);
 | 
			
		||||
                final String commentText = URLEncoder.encode(dmsBinding.commentText.getText().toString(), "UTF-8")
 | 
			
		||||
                final String commentText = URLEncoder.encode(text, "UTF-8")
 | 
			
		||||
                        .replaceAll("\\+", "%20").replaceAll("\\%21", "!").replaceAll("\\%27", "'")
 | 
			
		||||
                        .replaceAll("\\%28", "(").replaceAll("\\%29", ")").replaceAll("\\%7E", "~");
 | 
			
		||||
                final String cc = UUID.randomUUID().toString();
 | 
			
		||||
@ -231,7 +257,7 @@ public final class DirectMessageThread extends BaseLanguageActivity {
 | 
			
		||||
                        +"\",\"client_context\":\"" + cc
 | 
			
		||||
                        +"\",\"mutation_token\":\"" + cc
 | 
			
		||||
                        +"\",\"text\":\"" + commentText
 | 
			
		||||
                        +"\",\"thread_ids\":\"["+threadid
 | 
			
		||||
                        +"\",\"thread_ids\":\"["+ threadId
 | 
			
		||||
                        +"]\",\"action\":\"send_item\"}");
 | 
			
		||||
                urlConnection2.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
 | 
			
		||||
                urlConnection2.setRequestProperty("Content-Length", "" + Integer.toString(urlParameters2.getBytes().length));
 | 
			
		||||
@ -249,19 +275,24 @@ public final class DirectMessageThread extends BaseLanguageActivity {
 | 
			
		||||
            } catch (Throwable ex) {
 | 
			
		||||
                Log.e("austin_debug", "dm send: " + ex);
 | 
			
		||||
            }
 | 
			
		||||
            return null;
 | 
			
		||||
            return ok;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        @Override
 | 
			
		||||
        protected void onPostExecute(Void result) {
 | 
			
		||||
            if (!ok) Toast.makeText(getApplicationContext(), R.string.downloader_unknown_error, Toast.LENGTH_SHORT).show();
 | 
			
		||||
            else {
 | 
			
		||||
                dmsBinding.commentText.setText("");
 | 
			
		||||
                dmsBinding.commentText.clearFocus();
 | 
			
		||||
                directItemModels.clear();
 | 
			
		||||
                messageItemsAdapter.notifyDataSetChanged();
 | 
			
		||||
                new UserInboxFetcher(threadid, UserInboxDirection.OLDER, null, fetchListener).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
 | 
			
		||||
            }
 | 
			
		||||
        protected void onPostExecute(final Boolean result) {
 | 
			
		||||
            if (listener != null) {
 | 
			
		||||
                listener.onTaskComplete(result);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public void setOnTaskCompleteListener(final OnTaskCompleteListener listener) {
 | 
			
		||||
            if (listener != null) {
 | 
			
		||||
                this.listener = listener;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public interface OnTaskCompleteListener {
 | 
			
		||||
            void onTaskComplete(boolean ok);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user