May 2, 2019
TXD
Класс отвечающий за отмену заказа, небезызвестный:
\smali\com\pk\taxoid\a\c.smali
Кнопка отмены заказа:
this.g
Ей присваивается слушатель нажатий, который через лямбду вызывает метод e() из этого же класса:
private /* synthetic */ void e(View view) {
this.z.a(getString(R.string.process_query)); // Присвоение текста уведомления об обработке запроса
this.z.show(); // Показ уведомления
this.b.a(this.A, "cancel"); // Что-то делаем с объектом "cancel"
}
Рассмотрим последнюю строчку:
this.b.a(this.A, "cancel"); // Что-то делаем с объектом "cancel"
Что такое this.A? Переходим в начало класса и видим объявление:
private b A;
Объект this.b является ни чем иным как классом:
/smali/com/pk/taxoid/network/c/b.smali
Нужный метод a()
public void a(com.pk.taxoid.c.b.a aVar, String str) {
try {
JSONObject jSONObject = new JSONObject();
jSONObject.put("action", "comment");
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append(com.pk.taxoid.app.a.h);
stringBuilder.append(String.format("[%s][%s]", new Object[]{aVar.e(), aVar.f()}));
jSONObject.put("who", stringBuilder.toString());
stringBuilder = new StringBuilder();
stringBuilder.append(String.format("[L = %s][P = %s]\n\n", new Object[]{aVar.a(), aVar.b()}));
stringBuilder.append(str);
jSONObject.put("data", stringBuilder.toString());
a(jSONObject);// Махинация с рандомными числами, о которой я говорил в предыдущих статьях
} catch (JSONException e) {
e.printStackTrace();
}
}
В параметры метода передаётся этот объект:
package com.pk.taxoid.c.b;
import java.io.Serializable;
public final class a implements Serializable {
private String a;
private String b;
private String c;
private String d;
private String e;
private String f;
private String g;
private String h;
private boolean i = false;
private boolean j = false;
private boolean k = true;
private int l = 0;
public String a() {
return this.a;
}
public void a(int i) {
this.l = i * 1000;
}
//...
//...
}
Я поменял 1000 на 10, но нужен тест. Если это не поможет, я даже уже не знаю что делать...
Также при запросе на сервер в ответе приходит некое block_time со значением 600, я сделал так, что при получении этого значения, оно делится на 10. Опять же. Нужен тест.