본문 바로가기

☆ 테마제작관련 ☆/테마제작강좌

4.04 Criskelo롬 이식 관련 [퀵패널 15스크롤 ]



안녕하세요 Azdesign입니다.

이번 시간에는 4.04 Criskelo롬 이식 관련 [퀵패널 15스크롤]에 대하여 포스팅 하도록 하겠습니다.


4.04 Criskelo롬 이식 관련 [퀵패널 15스크롤 ]은 아래 스샷과 같이 퀵패널에 15개의 메뉴를 사용할 수 있는 롬을

국내 갤럭시 노트로 이식한 버젼입니다.

15퀵패널안에는 후레쉬기능과 기타 편의 기능들이 들어있습니다.^^




4.04 Criskelo롬 이식 관련 [퀵패널 15스크롤] 

스샷부터 확인해 볼까요?









 4.04 Criskelo롬 이식 관련 [퀵패널 15스크롤]





 Settings.apk 수정


drawable-xhdpi 첨부된 8개 이미지 추가  

crekero_apk_변경화일.zip



1. xml 수정 

1) Settings.apk\res\values\bools.xml [bools 수정]

    <bool name="has_powercontrol_widget">false true</bool> 


2) Settings.apk\res\values\ids.xml [ID추가]

    <item type="id" name="quickpanel_settings">false</item>

    <item type="id" name="cpuspy">false</item>

    <item type="id" name="cpu">false</item>

    <item type="id" name="csc">false</item>

    <item type="id" name="codesec">false</item>


3) Settings.apk\res\values\strings.xml [strings추가]

    <string name="quickpanel_settings">Quick Panel Settings</string>

    <string name="rom_version">Rom version</string>

    <string name="theme_version">Theme version</string>

    <string name="fastdormancy">Fast Dormancy</string>

    <string name="header_category_criskelo">Rom Mods</string>

    <string name="cpuspy">Cpu Spy Information, Deep Sleep</string>

    <string name="cpu">Working your Cpu</string>

    <string name="csc">Country Code CSC change (Wipe)</string>

    <string name="codesec">Samsung Secret Codes</string>


4) Settings.apk\res\xml\settings_headers.xml [headers 추가]

 <?xml version="1.0" encoding="utf-8"?>

<preference-headers

  xmlns:android="http://schemas.android.com/apk/res/android">

    <header android:title="@string/header_category_wireless_networks" />

    <header android:icon="@drawable/ic_settings_wireless" android:id="@id/wifi_settings" android:title="@string/wifi_settings_title" android:fragment="com.android.settings.wifi.WifiSettings" />

    <header android:icon="@drawable/ic_settings_bluetooth2" android:id="@id/bluetooth_settings" android:title="@string/bluetooth_settings_title" android:fragment="com.android.settings.bluetooth.BluetoothSettings" />

    <header android:icon="@drawable/ic_settings_data_usage" android:id="@id/data_usage_settings" android:title="@string/data_usage_summary_title" android:fragment="com.android.settings.DataUsageSummary" />

    <header android:id="@id/operator_settings" android:fragment="com.android.settings.WirelessSettings">

        <intent android:action="com.android.settings.OPERATOR_APPLICATION_SETTING" />

    </header>

    <header android:icon="@drawable/empty_icon" android:id="@id/wireless_settings" android:title="@string/radio_controls_title" android:fragment="com.android.settings.WirelessSettings" android:breadCrumbTitle="@string/wireless_networks_settings_title" />

---------------------------------------   아   래 -------------------------------------------------------------------

    <header android:title="@string/header_category_criskelo" />

    <header android:icon="@drawable/ic_settings_quickpanel" android:id="@id/quickpanel_settings" android:title="@string/quickpanel_settings">

        <intent android:targetPackage="com.criskelo.quickpanel" android:action="android.intent.action.MAIN" android:targetClass="com.criskelo.quickpanel.MainActivity" />

    </header>

    <header android:icon="@drawable/spy" android:id="@id/cpuspy" android:title="@string/cpuspy">

        <intent android:targetPackage="com.cpuspy" android:action="android.intent.action.MAIN" android:targetClass="com.cpuspy.ui.HomeActivity" />

    </header>

    <header android:icon="@drawable/cpumon" android:id="@id/cpu" android:title="@string/cpu">

        <intent android:targetPackage="aut.lgx.cpumonitor" android:action="android.intent.action.MAIN" android:targetClass="aut.lgx.cpumonitor.CpuMonitor" />

    </header>


 SystemUI.apk


1. xml 수정 

1) SystemUI.apk\res\layout\tw_status_bar_expanded.xml [구문추가]

  xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">

    <LinearLayout android:id="@id/quicksetting_scroller" android:layout_width="fill_parent" android:layout_height="wrap_content"

      xmlns:android="http://schemas.android.com/apk/res/android"

      xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">

        <com.criskelo.systemui.quickpanel.PowerWidget android:id="@id/exp_power_stat" android:layout_width="fill_parent" android:layout_height="wrap_content" />

        <LinearLayout android:orientation="horizontal" android:id="@id/quicksetting_container" android:background="@drawable/stauts_bar_quickpanel_bg" android:layout_width="fill_parent" android:layout_height="wrap_content">


2) SystemUI.apk\res\values\ids.xml [ids 추가]

   <item type="id" name="exp_power_stat">false</item>


    <item type="id" name="shortcut1_icon">false</item>

    <item type="id" name="shortcut1_text">false</item>

    <item type="id" name="shortcut2_icon">false</item>

    <item type="id" name="shortcut2_text">false</item>

    <item type="id" name="shortcut3_icon">false</item>

    <item type="id" name="shortcut3_text">false</item>

    <item type="id" name="shortcut4_icon">false</item>

    <item type="id" name="shortcut4_text">false</item>



2. 이미지 추가










 SystemUI.odex


1. classes\com\android\criskelo  폴더전체 삽입 


crskelo_odex화일.zip



2. classes\com\android\systemui\statusbar\phone\PhoneStatusBar.smali 


232줄

 .field mPowerWidget:Lcom/criskelo/systemui/quickpanel/PowerWidget;



3023줄

    iget-object v1, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPowerWidget:Lcom/criskelo/systemui/quickpanel/PowerWidget;

    invoke-virtual {v1}, Lcom/criskelo/systemui/quickpanel/PowerWidget;->updateWidget()V 


7432줄

.line 493

    const v22, 0x7f0f00ec

    move/from16 v0, v22

    invoke-virtual {v5, v0}, Lcom/android/systemui/statusbar/phone/ExpandedView;->findViewById(I)Landroid/view/View;

    move-result-object v22

    check-cast v22, Lcom/criskelo/systemui/quickpanel/PowerWidget;

    move-object/from16 v0, v22

    move-object/from16 v1, p0

    iput-object v0, v1, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPowerWidget:Lcom/criskelo/systemui/quickpanel/PowerWidget;

    sget-boolean v22, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->useTouchWizGUI:Z 



 8674줄

 move-object/from16 v0, p0

    iget-object v0, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPowerWidget:Lcom/criskelo/systemui/quickpanel/PowerWidget;

    invoke-virtual {v0}, Lcom/criskelo/systemui/quickpanel/PowerWidget;->setupWidget()V




 APK 추가하기


아래 첨부된 화일을 framework폴더 / app폴더 경로에 맞게 추가로 넣고 적용해주시면 됩니다.


system.zip




최종설치 경로는 아래와 같습니다.


framework 폴더 : criskelo-res.apk

app폴더 : CPUspy.apk, CPUspy.apk. SystemUI.apk, SystemUI.odex, Settings.apk




어렵죠?? 같은 같은 기종/통신사이시라면 차근차근 따라하시면 어렵지 않게 구현하실 수 있습니다.^^







이상으로 4.04 Criskelo롬 이식 관련 [퀵패널 15스크롤] 방법에 대하여 포스팅을 마치도록 하겠습니다.