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. Опять же. Нужен тест.