갤럭시 시리즈들은 다른 스마트폰들은 거의 대부분 가지고 있는 모바일 데이터 버튼이 퀵패널에 없습니다.
적용 스샷
그래서 위젯이나 전원키를 꾹 눌러서 제어하게 되어있는데,
이 방법은 너무 불편하죠.
그래서 저는 퀵패널에 모바일 데이터 버튼을 넣는 방법을 알려드리려고 합니다.
------------------준비물
에테리스님 강좌(http://matcl.com/?c=1/10&uid=109504) 를 통해서,
혹은 다른 분들의 강좌를 통해서 deodex 및 baksmali한 SystemUI.apk
------------------------
SystemUI.apk를 deodex하고 baksmali하는 과정까지 마치셨다면,
comandroidsystemuistatusbarphone 폴더로 들어가주세요.
------------해외판 XWLPG 펌웨어--------------
PhoneStatusBar.smali를 여시고, 6693번 줄에 가셔서
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mMobileDataLayout:Landroid/widget/LinearLayout;
invoke-virtual {v0, v7}, Landroid/widget/LinearLayout;->setVisibility(I)V
를 추가합니다.
그 다음, 아래로 내리시다보면
const v0, 0x7f0e00a7
invoke-virtual {v1, v0}, Lcom/android/systemui/statusbar/phone/ExpandedView;->findViewById(I)Landroid/view/View;
move-result-object v0
invoke-virtual {v0, v8}, Landroid/view/View;->setVisibility(I)V
라는 부분이 있는데요,
여기서 v8을 v7로 바꿔줍니다.
const v0, 0x7f0e00a7
invoke-virtual {v1, v0}, Lcom/android/systemui/statusbar/phone/ExpandedView;->findViewById(I)Landroid/view/View;
move-result-object v0
invoke-virtual {v0, v7}, Landroid/view/View;->setVisibility(I)V
이렇게요.
-------------------------------------------------
---------------------------------국내판 SKT,KT 갤럭시 S2(스틸라이프님 감사합니다!)
를 추가해주시고,
조금 아래로 내려가서
.line 571
.local v9, mMobileData:Lcom/android/systemui/statusbar/policy/MobileDataController;
const v19, 0x7f0f00bd
move/from16 v0, v19
invoke-virtual {v3, v0}, Lcom/android/systemui/statusbar/phone/ExpandedView;->findViewById(I)Landroid/view/View;
move-result-object v19
const/16 v20, 0x8
.local v9, mMobileData:Lcom/android/systemui/statusbar/policy/MobileDataController;
const v19, 0x7f0f00bd
move/from16 v0, v19
invoke-virtual {v3, v0}, Lcom/android/systemui/statusbar/phone/ExpandedView;->findViewById(I)Landroid/view/View;
move-result-object v19
const/16 v20, 0x8
의 0x8을 0x0으로 바꾸시면 됩니다.
----------------------------------------------------------------
--------------------------국내판 걘역시 공책
1. 절전모드 버튼 삭제
8269번째 줄에 가시거나 아래 내용을 찾아보세요.
.line 620
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPowerSavingLayout:Landroid/widget/LinearLayout;
move-object/from16 v22, v0
const/16 v23, 0x0
invoke-virtual/range {v22 .. v23}, Landroid/widget/LinearLayout;->setVisibility(I)V
여기에서 const/16 v23, 0x0을 const/16 v23, 0x8 로 교체합니다.
.line 620
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPowerSavingLayout:Landroid/widget/LinearLayout;
move-object/from16 v22, v0
const/16 v23, 0x8
invoke-virtual/range {v22 .. v23}, Landroid/widget/LinearLayout;->setVisibility(I)V
이렇게요.
2.모바일 데이터 버튼 추가
바로 아랫줄에
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mMobileDataLayout:Landroid/widget/LinearLayout;
move-object/from16 v22, v0
const/16 v23, 0x0
invoke-virtual/range {v22 .. v23}, Landroid/widget/LinearLayout;->setVisibility(I)V
를 추가합니다.
3.기기명이 SHV-E160S 또는 SGH-I727R 이더라도 모바일 데이터 버튼이 삭제되지 않게 설정
.line 650
:cond_60a
const v22, 0x7f0f00c1
move/from16 v0, v22
invoke-virtual {v5, v0}, Lcom/android/systemui/statusbar/phone/ExpandedView;->findViewById(I)Landroid/view/View;
move-result-object v22
const/16 v23, 0x8
invoke-virtual/range {v22 .. v23}, Landroid/view/View;->setVisibility(I)V
부분을 찾아주세요.
그리고 여기서 const/16 v23, 0x8을 const/16 v23, 0x0으로 수정합니다.
.line 650
:cond_60a
const v22, 0x7f0f00c1
move/from16 v0, v22
invoke-virtual {v5, v0}, Lcom/android/systemui/statusbar/phone/ExpandedView;->findViewById(I)Landroid/view/View;
move-result-object v22
const/16 v23, 0x0
invoke-virtual/range {v22 .. v23}, Landroid/view/View;->setVisibility(I)V
이렇게요.
그 다음 저장하시고 odex로 만드신 다음 테스트해주시면 됩니다.
---------------------------------------------------------------------------------------------
그러면 이제 이 파일을 저장하시고 smali하신 다음 시스템/앱에 투척하시고 odex로 만들어주시면 됩니다.
적용 스샷