LuCiFer_vrn, огромное спасибо, что поделился инструкцией! У меня, правда, пока не получилось заставить работать - может, сможешь подсказать что-нибудь.
У меня PhoneWindowManager.smali немного отличается от твоего. У тебя вызовы выглядят так:
const/4 v1, 0x1 # или 0x0 для reset
move-object/from16 v0, p0
iput-boolean v1, v0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mVolumeDownKeyTriggered:Z
# добавляем:
move-object/from16 v0, p0
invoke-virtual {v0}, Lcom/android/internal/policy/impl/PhoneWindowManager;->torch_check()V
- итого встречается 4 раза (2 на VolumeDown и 2 на VolumeUp).
А у меня выглядит так:
const/16 v18, 0x1 # или 0x0
move/from16 v0, v18
move-object/from16 v1, p0
iput-boolean v0, v1, Lcom/android/internal/policy/impl/PhoneWindowManager;->mVolumeDownKeyTriggered:Z
# по аналогии, пытался добавить:
move-object/from16 v1, p0
invoke-virtual {v1}, Lcom/android/internal/policy/impl/PhoneWindowManager;->torch_check()V
- с таким изменением не сработало. Что означает строчка "move/from16 v0, v18", которой нету в твоём варианте?
И ещё у меня есть ещё два вызова, перед которыми нет никаких move:
.line 5364
iput-boolean v4, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mVolumeDownKeyTriggered:Z
.line 5365
iput-boolean v4, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mVolumeUpKeyTriggered:Z
- не знаю, надо ли после них тоже добавлять нашу функцию?
Сообщение отредактировал comp3v - 02.07.14, 23:53