mirror of
https://github.com/KokaKiwi/BarInsta
synced 2024-11-22 14:47:29 +00:00
move CommentAction to its own file
This commit is contained in:
parent
78955cd73f
commit
6c478d8626
@ -24,6 +24,7 @@ import java.util.UUID;
|
|||||||
|
|
||||||
import awais.instagrabber.R;
|
import awais.instagrabber.R;
|
||||||
import awais.instagrabber.adapters.MessageItemsAdapter;
|
import awais.instagrabber.adapters.MessageItemsAdapter;
|
||||||
|
import awais.instagrabber.asyncs.direct_messages.CommentAction;
|
||||||
import awais.instagrabber.asyncs.direct_messages.UserInboxFetcher;
|
import awais.instagrabber.asyncs.direct_messages.UserInboxFetcher;
|
||||||
import awais.instagrabber.customviews.helpers.RecyclerLazyLoader;
|
import awais.instagrabber.customviews.helpers.RecyclerLazyLoader;
|
||||||
import awais.instagrabber.databinding.ActivityDmsBinding;
|
import awais.instagrabber.databinding.ActivityDmsBinding;
|
||||||
@ -209,90 +210,19 @@ public final class DirectMessageThread extends BaseLanguageActivity {
|
|||||||
Toast.makeText(getApplicationContext(), R.string.comment_send_empty_comment, Toast.LENGTH_SHORT).show();
|
Toast.makeText(getApplicationContext(), R.string.comment_send_empty_comment, Toast.LENGTH_SHORT).show();
|
||||||
else if (v == dmsBinding.commentSend) {
|
else if (v == dmsBinding.commentSend) {
|
||||||
final CommentAction action = new CommentAction(dmsBinding.commentText.getText().toString(), threadid);
|
final CommentAction action = new CommentAction(dmsBinding.commentText.getText().toString(), threadid);
|
||||||
action.setOnTaskCompleteListener(new CommentAction.OnTaskCompleteListener() {
|
action.setOnTaskCompleteListener(result -> {
|
||||||
@Override
|
if (!result) {
|
||||||
public void onTaskComplete(boolean ok) {
|
Toast.makeText(getApplicationContext(), R.string.downloader_unknown_error, Toast.LENGTH_SHORT).show();
|
||||||
if (!ok) {
|
return;
|
||||||
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);
|
|
||||||
}
|
}
|
||||||
|
dmsBinding.commentText.setText("");
|
||||||
|
dmsBinding.commentText.clearFocus();
|
||||||
|
directItemModels.clear();
|
||||||
|
messageItemsAdapter.notifyDataSetChanged();
|
||||||
|
new UserInboxFetcher(threadid, UserInboxDirection.OLDER, null, fetchListener).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
||||||
});
|
});
|
||||||
action.execute();
|
action.execute();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
public static class CommentAction extends AsyncTask<Void, Void, Boolean> {
|
|
||||||
private final String text;
|
|
||||||
private final String threadId;
|
|
||||||
|
|
||||||
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 {
|
|
||||||
final HttpURLConnection urlConnection2 = (HttpURLConnection) new URL(url2).openConnection();
|
|
||||||
urlConnection2.setRequestMethod("POST");
|
|
||||||
urlConnection2.setRequestProperty("User-Agent", Constants.I_USER_AGENT);
|
|
||||||
urlConnection2.setUseCaches(false);
|
|
||||||
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();
|
|
||||||
final String urlParameters2 = Utils.sign("{\"_csrftoken\":\"" + cookie.split("csrftoken=")[1].split(";")[0]
|
|
||||||
+"\",\"_uid\":\"" + Utils.getUserIdFromCookie(cookie)
|
|
||||||
+"\",\"__uuid\":\"" + settingsHelper.getString(Constants.DEVICE_UUID)
|
|
||||||
+"\",\"client_context\":\"" + cc
|
|
||||||
+"\",\"mutation_token\":\"" + cc
|
|
||||||
+"\",\"text\":\"" + commentText
|
|
||||||
+"\",\"thread_ids\":\"["+ threadId
|
|
||||||
+"]\",\"action\":\"send_item\"}");
|
|
||||||
urlConnection2.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
|
|
||||||
urlConnection2.setRequestProperty("Content-Length", "" + Integer.toString(urlParameters2.getBytes().length));
|
|
||||||
urlConnection2.setDoOutput(true);
|
|
||||||
DataOutputStream wr2 = new DataOutputStream(urlConnection2.getOutputStream());
|
|
||||||
wr2.writeBytes(urlParameters2);
|
|
||||||
wr2.flush();
|
|
||||||
wr2.close();
|
|
||||||
urlConnection2.connect();
|
|
||||||
Log.d("austin_debug", urlConnection2.getResponseCode() + " " + urlParameters2 + " " + cookie);
|
|
||||||
if (urlConnection2.getResponseCode() == HttpURLConnection.HTTP_OK) {
|
|
||||||
ok = true;
|
|
||||||
}
|
|
||||||
urlConnection2.disconnect();
|
|
||||||
} catch (Throwable ex) {
|
|
||||||
Log.e("austin_debug", "dm send: " + ex);
|
|
||||||
}
|
|
||||||
return ok;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
@ -0,0 +1,84 @@
|
|||||||
|
package awais.instagrabber.asyncs.direct_messages;
|
||||||
|
|
||||||
|
import android.os.AsyncTask;
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
|
import java.io.DataOutputStream;
|
||||||
|
import java.net.HttpURLConnection;
|
||||||
|
import java.net.URL;
|
||||||
|
import java.net.URLEncoder;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
import awais.instagrabber.utils.Constants;
|
||||||
|
import awais.instagrabber.utils.Utils;
|
||||||
|
|
||||||
|
import static awais.instagrabber.utils.Utils.settingsHelper;
|
||||||
|
|
||||||
|
public class CommentAction extends AsyncTask<Void, Void, Boolean> {
|
||||||
|
private final String text;
|
||||||
|
private final String threadId;
|
||||||
|
|
||||||
|
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 {
|
||||||
|
final HttpURLConnection urlConnection2 = (HttpURLConnection) new URL(url2).openConnection();
|
||||||
|
urlConnection2.setRequestMethod("POST");
|
||||||
|
urlConnection2.setRequestProperty("User-Agent", Constants.I_USER_AGENT);
|
||||||
|
urlConnection2.setUseCaches(false);
|
||||||
|
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();
|
||||||
|
final String urlParameters2 = Utils.sign("{\"_csrftoken\":\"" + cookie.split("csrftoken=")[1].split(";")[0]
|
||||||
|
+ "\",\"_uid\":\"" + Utils.getUserIdFromCookie(cookie)
|
||||||
|
+ "\",\"__uuid\":\"" + settingsHelper.getString(Constants.DEVICE_UUID)
|
||||||
|
+ "\",\"client_context\":\"" + cc
|
||||||
|
+ "\",\"mutation_token\":\"" + cc
|
||||||
|
+ "\",\"text\":\"" + commentText
|
||||||
|
+ "\",\"thread_ids\":\"[" + threadId
|
||||||
|
+ "]\",\"action\":\"send_item\"}");
|
||||||
|
urlConnection2.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
|
||||||
|
urlConnection2.setRequestProperty("Content-Length", "" + Integer.toString(urlParameters2.getBytes().length));
|
||||||
|
urlConnection2.setDoOutput(true);
|
||||||
|
DataOutputStream wr2 = new DataOutputStream(urlConnection2.getOutputStream());
|
||||||
|
wr2.writeBytes(urlParameters2);
|
||||||
|
wr2.flush();
|
||||||
|
wr2.close();
|
||||||
|
urlConnection2.connect();
|
||||||
|
Log.d("austin_debug", urlConnection2.getResponseCode() + " " + urlParameters2 + " " + cookie);
|
||||||
|
if (urlConnection2.getResponseCode() == HttpURLConnection.HTTP_OK) {
|
||||||
|
ok = true;
|
||||||
|
}
|
||||||
|
urlConnection2.disconnect();
|
||||||
|
} catch (Throwable ex) {
|
||||||
|
Log.e("austin_debug", "dm send: " + ex);
|
||||||
|
}
|
||||||
|
return ok;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
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…
Reference in New Issue
Block a user