安卓技術大講堂詳解添開屏特效教程_第1頁
安卓技術大講堂詳解添開屏特效教程_第2頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、我們要實現特效的添加,首先需要做的是反編譯services.jar文件之后打開/com/android/server/PowerManagerService.smali文件找到getPreferredBrightness()I這行在上面添加:.method static synthetic getContextZZ(Lcom/android/server/PowerManagerService;)Landroid/content/Context; .registers 2 .parameter x0 .prologue iget-object v0, p0, Lcom/android/serv

2、er/PowerManagerService;-mContext:Landroid/content/Context; return-object v0.end method復制代碼打開/com/android/server/PowerManagerService$BrightnessState.smali文件找到# virtual methods這行在上面添加:.method private getScreenAnimationMode(Landroid/content/Context;)I .registers 7 .parameter context .prologue const v0,

3、 0 x0 const v3, 0 x1 const v4, 0 x10 invoke-virtual p1, Landroid/content/Context;-getContentResolver()Landroid/content/ContentResolver; move-result-object v1 const-string v2, config_beam_screen_on invoke-static v1, v2, v3, Landroid/provider/Settings$System;-getInt(Landroid/content/ContentResolver;Lj

4、ava/lang/String;I)I move-result v2 if-eqz v2, :cond_22 const v0, 0 x1 :goto_18 const-string v2, config_beam_screen_off invoke-static v1, v2, v3, Landroid/provider/Settings$System;-getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I move-result v2 if-eqz v2, :cond_21 add-int/2addr v0, v4 :c

5、ond_21 return v0 :cond_22 const v0, 0 x0 goto :goto_18.end method復制代碼繼續(xù)3中修改的文件找到.method public run()V從這一行刪除到下面第一個.end method那一行,也就是刪除run這個函數然后添加:.method public run()V .registers 10 .prologue const/4 v8, 0 x0 .line 2076 iget-object v4, p0, Lcom/android/server/PowerManagerService$BrightnessState;-this

6、$0:Lcom/android/server/PowerManagerService; invoke-static v4, Lcom/android/server/PowerManagerService;-getContextZZ(Lcom/android/server/PowerManagerService;)Landroid/content/Context; move-result-object v4 invoke-direct p0, v4, Lcom/android/server/PowerManagerService$BrightnessState;-getScreenAnimati

7、onMode(Landroid/content/Context;)I move-result v4 if-nez v4, :cond_3b iget-object v4, p0, Lcom/android/server/PowerManagerService$BrightnessState;-this$0:Lcom/android/server/PowerManagerService; iget-boolean v4, v4, Lcom/android/server/PowerManagerService;-mAnimateScreenLights:Z if-eqz v4, :cond_3b

8、.line 2077 iget-object v4, p0, Lcom/android/server/PowerManagerService$BrightnessState;-this$0:Lcom/android/server/PowerManagerService; invoke-static v4, Lcom/android/server/PowerManagerService;-access$500(Lcom/android/server/PowerManagerService;)Lcom/android/server/PowerManagerService$LockList; mov

9、e-result-object v4 monitor-enter v4 .line 2078 :try_start_1a invoke-static , Landroid/os/SystemClock;-uptimeMillis()J move-result-wide v2 .line 2079 .local v2, now:J iget-object v5, p0, Lcom/android/server/PowerManagerService$BrightnessState;-this$0:Lcom/android/server/PowerManagerService; invoke-st

10、atic v5, Lcom/android/server/PowerManagerService;-access$4500(Lcom/android/server/PowerManagerService;)Lcom/android/server/PowerManagerService$BrightnessState; move-result-object v5 invoke-virtual v5, Lcom/android/server/PowerManagerService$BrightnessState;-stepLocked()Z move-result v1 .line 2080 .l

11、ocal v1, more:Z if-eqz v1, :cond_36 .line 2081 iget-object v5, p0, Lcom/android/server/PowerManagerService$BrightnessState;-this$0:Lcom/android/server/PowerManagerService; invoke-static v5, Lcom/android/server/PowerManagerService;-access$1800(Lcom/android/server/PowerManagerService;)Landroid/os/Hand

12、ler; move-result-object v5 const-wide/16 v6, 0 x10 add-long/2addr v6, v2 invoke-virtual v5, p0, v6, v7, Landroid/os/Handler;-postAtTime(Ljava/lang/Runnable;J)Z .line 2083 :cond_36 monitor-exit v4 .line 2098 .end local v1 #more:Z .end local v2 #now:J :goto_37 return-void .line 2083 :catchall_38 move-

13、exception v5 monitor-exit v4 :try_end_3a .catchall :try_start_1a . :try_end_3a :catchall_38 throw v5 .line 2085 :cond_3b iget-object v4, p0, Lcom/android/server/PowerManagerService$BrightnessState;-this$0:Lcom/android/server/PowerManagerService; invoke-static v4, Lcom/android/server/PowerManagerServ

14、ice;-access$500(Lcom/android/server/PowerManagerService;)Lcom/android/server/PowerManagerService$LockList; move-result-object v4 monitor-enter v4 .line 2087 :try_start_42 iget-boolean v5, p0, Lcom/android/server/PowerManagerService$BrightnessState;-animating:Z if-eqz v5, :cond_6b iget v5, p0, Lcom/a

15、ndroid/server/PowerManagerService$BrightnessState;-targetValue:I if-nez v5, :cond_6b const/4 v5, 0 x1 move v0, v5 .line 2088 .local v0, animate:Z :goto_4c if-eqz v0, :cond_5d .line 2091 iget-object v5, p0, Lcom/android/server/PowerManagerService$BrightnessState;-this$0:Lcom/android/server/PowerManag

16、erService; iget-object v6, p0, Lcom/android/server/PowerManagerService$BrightnessState;-this$0:Lcom/android/server/PowerManagerService; invoke-static v6, Lcom/android/server/PowerManagerService;-access$4300(Lcom/android/server/PowerManagerService;)I move-result v6 const/4 v7, 0 x4 if-ne v6, v7, :con

17、d_6d move v6, v8 :goto_5a invoke-static v5, v6, Lcom/android/server/PowerManagerService;-access$4600(Lcom/android/server/PowerManagerService;I)V .line 2095 :cond_5d iget-object v5, p0, Lcom/android/server/PowerManagerService$BrightnessState;-this$0:Lcom/android/server/PowerManagerService; invoke-sta

18、tic v5, Lcom/android/server/PowerManagerService;-access$4500(Lcom/android/server/PowerManagerService;)Lcom/android/server/PowerManagerService$BrightnessState; move-result-object v5 invoke-virtual v5, Lcom/android/server/PowerManagerService$BrightnessState;-jumpToTargetLocked()V .line 2096 monitor-ex

19、it v4 goto :goto_37 .end local v0 #animate:Z :catchall_68 move-exception v5 monitor-exit v4 :try_end_6a .catchall :try_start_42 . :try_end_6a :catchall_68 throw v5 :cond_6b move v0, v8 .line 2087 goto :goto_4c .line 2091 .restart local v0 #animate:Z :cond_6d :try_start_6d iget-object v6, p0, Lcom/android/server/PowerManagerService$BrightnessState;-this$0:Lcom/android/server/PowerManagerService; invoke-static v6, Lc

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論