- Adım
- Lütfi
- Cihazım
- Le Pro3
- Yaş
- 26
- Konum
- ankara
- Katılım
- 22 Mayıs 2016
- Konular
- 68
- Mesajlar
- 102
- Tepkime puanı
- 214
- Puanları
- 43
DİPNOT
BU İŞLEMDEN DOĞACAK SORUNLARDAN ŞAHSIM VE FORUM MIUI TÜRKİYE SORUMLU TUTULAMAZ.
AÇIKLAMA
Bu kılavuz ile çift tıklama ile ekran açma özelliğini ekleyebilirsiniz.
mt6582 ve mt6592 işlemcileri için geçerlidir."3.4.67" Kitkat kernelinde denenmiştir.
Ricam eğer bu kılavuzdan en ufak bir yardım aldıysanız sadece konunuzun teşekkürler kısmında benim de ismim geçsin.
ANLATIM
services.jar
android.policy.jar
build.prop
kodlarını build.prop dosyanıza ekleyin.
GEREKLİ DOSYA
BU İŞLEMDEN DOĞACAK SORUNLARDAN ŞAHSIM VE FORUM MIUI TÜRKİYE SORUMLU TUTULAMAZ.
AÇIKLAMA
Bu kılavuz ile çift tıklama ile ekran açma özelliğini ekleyebilirsiniz.
mt6582 ve mt6592 işlemcileri için geçerlidir."3.4.67" Kitkat kernelinde denenmiştir.
Ricam eğer bu kılavuzdan en ufak bir yardım aldıysanız sadece konunuzun teşekkürler kısmında benim de ismim geçsin.
ANLATIM
services.jar
-> services.jar dosyasını ayrıştırın.
-> Ekte verdiğim dosyayı uygun dizine çıkarın.
Yani services.jar/smali/com/android/server/power bölümüne
-> services.jar/smali/com/android/server/power/PowerManagerService.smali bu dosyayı açın ve ;
Bunu arayın :
O kodun baş tarafına aşağıdaki satırları ekleyin.
Aynı dosyaya aşağıdaki satırları ekleyin.
Aynı dosyaya aşağıdaki satırları ekleyin.
========================================
PowerManagerService.smali dosyasını kaydedin.
services.jar dosyasını tekrar toplayın.
========================================
-> Ekte verdiğim dosyayı uygun dizine çıkarın.
Yani services.jar/smali/com/android/server/power bölümüne
-> services.jar/smali/com/android/server/power/PowerManagerService.smali bu dosyayı açın ve ;
Bunu arayın :
Kod:
.method public systemReady(Lcom/android/internal/app/IAppOpsService;)V
O kodun baş tarafına aşağıdaki satırları ekleyin.
Kod:
const/4 v3, 0x0
new-instance v4, Landroid/content/IntentFilter;
invoke-direct {v4}, Landroid/content/IntentFilter;-><init>()V
const-string/jumbo v0, "android.intent.action.BOOT_COMPLETED"
invoke-virtual {v4, v0}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
iget-object v0, p0, Lcom/android/server/power/PowerManagerService;->mContext:Landroid/content/Context;
new-instance v1, Lcom/android/server/power/PowerManagerService$BootCompletedReceiver;
invoke-direct {v1, p0, v3}, Lcom/android/server/power/PowerManagerService$BootCompletedReceiver;-><init>(Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService$BootCompletedReceiver;)V
iget-object v2, p0, Lcom/android/server/power/PowerManagerService;->mHandler:Lcom/android/server/power/PowerManagerService$PowerManagerHandler;
invoke-virtual {v0, v1, v4, v3, v2}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;)Landroid/content/Intent;
Aynı dosyaya aşağıdaki satırları ekleyin.
Kod:
.method static synthetic -wrap98(Lcom/android/server/power/PowerManagerService;I)V
.locals 0
.param p0, "x0" # Lcom/android/server/power/PowerManagerService;
.param p1, "x1" # I
.prologue
invoke-direct {p0, p1}, Lcom/android/server/power/PowerManagerService;->writeOffScreenGestureState(I)V
return-void
.end method
Aynı dosyaya aşağıdaki satırları ekleyin.
Kod:
.method private writeOffScreenGestureState(I)V
.locals 5
.param p1, "value" # I
.prologue
:try_start_0
new-instance v1, Ljava/io/File;
const-string v3, "/sys/devices/platform/mt-i2c.0/i2c-0/0-0038/gesture"
invoke-direct {v1, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.local v1, "file":Ljava/io/File;
invoke-virtual {v1}, Ljava/io/File;->exists()Z
move-result v3
if-nez v3, :cond_0
new-instance v1, Ljava/io/File;
.end local v1 # "file":Ljava/io/File;
const-string v3, "/sys/devices/platform/mt-i2c.0/i2c-0/0-005d/gesture"
invoke-direct {v1, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.restart local v1 # "file":Ljava/io/File;
:cond_0
invoke-virtual {v1}, Ljava/io/File;->exists()Z
move-result v3
if-nez v3, :cond_1
new-instance v1, Ljava/io/File;
.end local v1 # "file":Ljava/io/File;
const-string v3, "/sys/devices/platform/mt-i2c.1/i2c-1/1-005d/gesture"
invoke-direct {v1, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.restart local v1 # "file":Ljava/io/File;
:cond_1
invoke-virtual {v1}, Ljava/io/File;->exists()Z
move-result v3
if-nez v3, :cond_2
new-instance v1, Ljava/io/File;
.end local v1 # "file":Ljava/io/File;
const-string v3, "/sys/devices/platform/mt-i2c.0/i2c-0/0-0020/gesture"
invoke-direct {v1, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.restart local v1 # "file":Ljava/io/File;
:cond_2
invoke-virtual {v1}, Ljava/io/File;->exists()Z
move-result v3
if-nez v3, :cond_3
new-instance v1, Ljava/io/File;
.end local v1 # "file":Ljava/io/File;
const-string v3, "/sys/devices/platform/mt-i2c.0/i2c-0/0-004b/gesture"
invoke-direct {v1, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.restart local v1 # "file":Ljava/io/File;
:cond_3
invoke-virtual {v1}, Ljava/io/File;->exists()Z
move-result v3
if-eqz v3, :cond_4
new-instance v2, Ljava/io/FileWriter;
invoke-direct {v2, v1}, Ljava/io/FileWriter;-><init>(Ljava/io/File;)V
.local v2, "mWriter":Ljava/io/FileWriter;
invoke-static {p1}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/io/FileWriter;->write(Ljava/lang/String;)V
invoke-virtual {v2}, Ljava/io/FileWriter;->flush()V
invoke-virtual {v2}, Ljava/io/FileWriter;->close()V
:try_end_0
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0
.end local v2 # "mWriter":Ljava/io/FileWriter;
:cond_4
return-void
.end local v1 # "file":Ljava/io/File;
:catch_0
move-exception v0
.local v0, "e":Ljava/io/IOException;
new-instance v3, Ljava/lang/RuntimeException;
const-string v4, "Can\'t open gesture device"
invoke-direct {v3, v4, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v3
.end method
PowerManagerService.smali dosyasını kaydedin.
services.jar dosyasını tekrar toplayın.
========================================
android.policy.jar
-> android.policy.jar dosyasını ayrıştırın
-> android.policy.jar\smali\com\android\internal\policy\impl\PhoneWindowManager.smali
dosyasını açın.
Aşağıdakini arayın
Yukarıdakinden sonra aşağıyı ekleyin.
Aynı dosyaya bunu ekleyin.
========================================
PhoneWindowManager.smali dosyasını kaydedin.
android.policy.jar dosyasını toplayın.
========================================
-> android.policy.jar\smali\com\android\internal\policy\impl\PhoneWindowManager.smali
dosyasını açın.
Aşağıdakini arayın
Kod:
.method public interceptKeyBeforeQueueing(Landroid/view/KeyEvent;I)I
#to find a line like this:
sparse-switch v14, :sswitch_data_0 < #in MM 6.x.x will be (sparse-switch v18, :sswitch_data_0) >
Yukarıdakinden sonra aşağıyı ekleyin.
Kod:
invoke-virtual/range {p0 .. p0}, Lcom/android/internal/policy/impl/PhoneWindowManager;->isScreenOn()Z
move-result v0
if-nez v0, :smartwake_off
invoke-virtual/range {p1 .. p1}, Landroid/view/KeyEvent;->getAction()I
move-result v0
if-nez v0, :smartwake_off
.line 2
const-string v0, "persist.sys.off_gesture_switch"
const/4 v1, 0x0
invoke-static/range {v0 .. v1}, Landroid/os/SystemProperties;->getInt(Ljava/lang/String;I)I
move-result v0
if-eqz v0, :smartwake_off
.line 3
invoke-virtual/range {p0 .. p0}, Lcom/android/internal/policy/impl/PhoneWindowManager;->getTelecommService()Landroid/telecom/TelecomManager;
move-result-object v0
invoke-virtual/range {v0 .. v0}, Landroid/telecom/TelecomManager;->isInCall()Z
move-result v0
if-nez v0, :smartwake_off
.line 4
const-string/jumbo v0, "WindowManager"
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string/jumbo v2, "Pressed key code: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual/range {p1 .. p1}, Landroid/view/KeyEvent;->getKeyCode()I
move-result v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v0, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 5
const/16 v0, 0x31
if-ne v2, v0, :gesture_c
const-string v0, "persist.sys.off_gesture_u"
const/16 v1, 0x0
invoke-static/range {v0 .. v1}, Landroid/os/SystemProperties;->getInt(Ljava/lang/String;I)I
move-result v0
if-eqz v0, :smartwake_off
const/16 v13, 0x1 < ### register name (v17) can vary - look for the call "isWakeKey":Z >
goto :gesture_done
.line 6
:gesture_c
const/16 v0, 0x1f
if-ne v2, v0, :gesture_o
const-string v0, "persist.sys.off_gesture_c"
const/16 v1, 0x0
invoke-static/range {v0 .. v1}, Landroid/os/SystemProperties;->getInt(Ljava/lang/String;I)I
move-result v0
if-eqz v0, :smartwake_off
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mKeyguardDelegate:Lcom/android/internal/policy/impl/keyguard/KeyguardServiceDelegate;
invoke-virtual {v0}, Lcom/android/internal/policy/impl/keyguard/KeyguardServiceDelegate;->dismiss()V
invoke-static {}, Ljava/lang/Runtime;->getRuntime()Ljava/lang/Runtime;
move-result-object v0
const-string v1, "am start -a android.media.action.STILL_IMAGE_CAMERA"
invoke-virtual {v0, v1}, Ljava/lang/Runtime;->exec(Ljava/lang/String;)Ljava/lang/Process;
const/16 v13, 0x1 < ### register name (v17) can vary - look for the call "isWakeKey":Z >
goto :gesture_done
.line 7
:gesture_o
const/16 v0, 0x2b
if-ne v2, v0, :gesture_e
const-string v0, "persist.sys.off_gesture_o"
const/16 v1, 0x0
invoke-static/range {v0 .. v1}, Landroid/os/SystemProperties;->getInt(Ljava/lang/String;I)I
move-result v0
if-eqz v0, :smartwake_off
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mKeyguardDelegate:Lcom/android/internal/policy/impl/keyguard/KeyguardServiceDelegate;
invoke-virtual {v0}, Lcom/android/internal/policy/impl/keyguard/KeyguardServiceDelegate;->dismiss()V
invoke-static {}, Ljava/lang/Runtime;->getRuntime()Ljava/lang/Runtime;
move-result-object v0
const-string v3, "am start -a android.intent.action.DIAL"
invoke-virtual {v0, v3}, Ljava/lang/Runtime;->exec(Ljava/lang/String;)Ljava/lang/Process;
const/16 v13, 0x1 < ### register name (v17) can vary - look for the call "isWakeKey":Z >
goto :gesture_done
.line 8
:gesture_e
const/16 v0, 0x21
if-ne v2, v0, :gesture_up
const-string v0, "persist.sys.off_gesture_e"
const/16 v1, 0x0
invoke-static/range {v0 .. v1}, Landroid/os/SystemProperties;->getInt(Ljava/lang/String;I)I
move-result v0
if-eqz v0, :smartwake_off
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mKeyguardDelegate:Lcom/android/internal/policy/impl/keyguard/KeyguardServiceDelegate;
invoke-virtual {v0}, Lcom/android/internal/policy/impl/keyguard/KeyguardServiceDelegate;->dismiss()V
invoke-static {}, Ljava/lang/Runtime;->getRuntime()Ljava/lang/Runtime;
move-result-object v0
const-string v3, "am start -a android.speech.action.WEB_SEARCH -c android.intent.category.DEFAULT"
invoke-virtual {v0, v3}, Ljava/lang/Runtime;->exec(Ljava/lang/String;)Ljava/lang/Process;
const/16 v13, 0x1 < ### register name (v17) can vary - look for the call "isWakeKey":Z >
goto :gesture_done
.line 9
:gesture_up
const/16 v0, 0x13
if-ne v2, v0, :gesture_down
const-string v0, "persist.sys.off_gesture_up"
const/16 v1, 0x0
invoke-static/range {v0 .. v1}, Landroid/os/SystemProperties;->getInt(Ljava/lang/String;I)I
move-result v0
if-eqz v0, :smartwake_off
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mKeyguardDelegate:Lcom/android/internal/policy/impl/keyguard/KeyguardServiceDelegate;
invoke-virtual {v0}, Lcom/android/internal/policy/impl/keyguard/KeyguardServiceDelegate;->dismiss()V
const/16 v13, 0x1 < ### register name (v17) can vary - look for the call "isWakeKey":Z >
goto :gesture_done
.line 10
:gesture_down
const/16 v0, 0x14
if-ne v2, v0, :gesture_left
const-string v0, "persist.sys.off_gesture_down"
const/16 v1, 0x0
invoke-static/range {v0 .. v1}, Landroid/os/SystemProperties;->getInt(Ljava/lang/String;I)I
move-result v0
if-eqz v0, :smartwake_off
move-object/from16 v0, p0
const/16 v1, 0x55
invoke-virtual {v0, v1}, Lcom/android/internal/policy/impl/PhoneWindowManager;->sendMediaButtonEvent(I)V
const/16 v13, 0x0 < ### register name (v17) can vary - look for the call "isWakeKey":Z >
goto :gesture_done
.line 11
:gesture_left
const/16 v0, 0x15
if-ne v2, v0, :gesture_right
const-string v0, "persist.sys.off_gesture_left"
const/16 v1, 0x0
invoke-static/range {v0 .. v1}, Landroid/os/SystemProperties;->getInt(Ljava/lang/String;I)I
move-result v0
if-eqz v0, :smartwake_off
invoke-direct/range {p0 .. p0}, Lcom/android/internal/policy/impl/PhoneWindowManager;->isMusicActive()Z
move-result v1
if-eqz v1, :smartwake_off
move-object/from16 v0, p0
const/16 v1, 0x58
invoke-virtual {v0, v1}, Lcom/android/internal/policy/impl/PhoneWindowManager;->sendMediaButtonEvent(I)V
const/16 v13, 0x0 < ### register name (v17) can vary - look for the call "isWakeKey":Z >
goto :gesture_done
.line 12
:gesture_right
const/16 v0, 0x16
if-ne v2, v0, :smartwake_off
const-string v0, "persist.sys.off_gesture_right"
const/16 v1, 0x0
invoke-static/range {v0 .. v1}, Landroid/os/SystemProperties;->getInt(Ljava/lang/String;I)I
move-result v0
if-eqz v0, :smartwake_off
invoke-direct/range {p0 .. p0}, Lcom/android/internal/policy/impl/PhoneWindowManager;->isMusicActive()Z
move-result v1
if-eqz v1, :smartwake_off
move-object/from16 v0, p0
const/16 v1, 0x57
invoke-virtual {v0, v1}, Lcom/android/internal/policy/impl/PhoneWindowManager;->sendMediaButtonEvent(I)V
const/16 v13, 0x0 < ### register name (v17) can vary - look for the call "isWakeKey":Z >
:gesture_done
move-object/from16 v1, p0
iget-object v1, v1, Lcom/android/internal/policy/impl/PhoneWindowManager;->mContext:Landroid/content/Context;
const-string v2, "vibrator"
invoke-virtual/range {v1 .. v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/os/Vibrator;
.local v0
const-wide/16 v1, 0x64
invoke-virtual/range {v0 .. v2}, Landroid/os/Vibrator;->vibrate(J)V
goto :goto_7 < ### label name can be changed, refer to the first label after "sparse-switch vXX,: sswitch_data_X", it's just after a few lines here. >
:smartwake_off
Aynı dosyaya bunu ekleyin.
Kod:
.method protected sendMediaButtonEvent(I)V
.locals 14
.param p1, "keyCode" # I
.prologue
invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
move-result-wide v1
.local v1, "eventtime":J
new-instance v11, Landroid/content/Intent;
const-string v4, "android.intent.action.MEDIA_BUTTON"
const/4 v5, 0x0
invoke-direct {v11, v4, v5}, Landroid/content/Intent;-><init>(Ljava/lang/String;Landroid/net/Uri;)V
.local v11, "downIntent":Landroid/content/Intent;
new-instance v0, Landroid/view/KeyEvent;
const/4 v5, 0x0
const/4 v7, 0x0
move v6, p1
move-wide v3, v1
invoke-direct/range {v0 .. v7}, Landroid/view/KeyEvent;-><init>(JJIII)V
.local v0, "downEvent":Landroid/view/KeyEvent;
const-string v4, "android.intent.extra.KEY_EVENT"
invoke-virtual {v11, v4, v0}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Landroid/os/Parcelable;)Landroid/content/Intent;
iget-object v4, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mContext:Landroid/content/Context;
const/4 v5, 0x0
invoke-virtual {v4, v11, v5}, Landroid/content/Context;->sendOrderedBroadcast(Landroid/content/Intent;Ljava/lang/String;)V
new-instance v12, Landroid/content/Intent;
const-string v4, "android.intent.action.MEDIA_BUTTON"
const/4 v5, 0x0
invoke-direct {v12, v4, v5}, Landroid/content/Intent;-><init>(Ljava/lang/String;Landroid/net/Uri;)V
.local v12, "upIntent":Landroid/content/Intent;
new-instance v3, Landroid/view/KeyEvent;
const/4 v8, 0x1
const/4 v10, 0x0
move-wide v4, v1
move-wide v6, v1
move v9, p1
invoke-direct/range {v3 .. v10}, Landroid/view/KeyEvent;-><init>(JJIII)V
.local v3, "upEvent":Landroid/view/KeyEvent;
const-string v4, "android.intent.extra.KEY_EVENT"
invoke-virtual {v12, v4, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Landroid/os/Parcelable;)Landroid/content/Intent;
iget-object v4, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mContext:Landroid/content/Context;
const/4 v5, 0x0
invoke-virtual {v4, v12, v5}, Landroid/content/Context;->sendOrderedBroadcast(Landroid/content/Intent;Ljava/lang/String;)V
return-void
.end method
========================================
PhoneWindowManager.smali dosyasını kaydedin.
android.policy.jar dosyasını toplayın.
========================================
build.prop
Kod:
# Smart Wake
persist.sys.off_gesture_switch=1
persist.sys.off_gesture_u=1
persist.sys.off_gesture_c=1
persist.sys.off_gesture_e=1
persist.sys.off_gesture_o=1
persist.sys.off_gesture_up=1
persist.sys.off_gesture_down=1
persist.sys.off_gesture_left=1
persist.sys.off_gesture_right=1
kodlarını build.prop dosyanıza ekleyin.
GEREKLİ DOSYA
Linkleri görebilmek için kayıt olmanız gerekmektedir